2顺序表操作的实现 (1)初始化 Listlnitiate(l void ListInitiate(seq list*L) >size =0: /*定义初始数据元素个数 (2)求当前数据元素个数 Listlength(L) int ListLength (Seqlist L) return L size
2.顺序表操作的实现 (1)初始化ListInitiate(L) voidListInitiate(SeqList *L) { L->size = 0; /*定义初始数据元素个数*/ } (2)求当前数据元素个数ListLength(L) int ListLength(SeqListL) { return L.size; }
(3)插入数据元素 ListInserte(L,i,x) int ListInsert(Seqlist*L, int i, Data Type x) t int j; for(j= L->size;j>i;j--)L->list[il=L->list[j-1; /*依次后移*/ L->list=x; /插入x*/ >size ++. /元素个数加1*/ return 1
(3)插入数据元素ListInsert(L, i, x) int ListInsert(SeqList *L, int i, DataType x) { int j; for(j = L->size; j > i; j--) L->list[j] = L->list[j-1]; /*依次后移*/ L->list[i] = x; /*插入x*/ L->size ++; /*元素个数加1*/ return 1; }
0 5 MaxSize-1 list 10 11 12 15 16 SIze 012 5 6 MaxSize-1 list 10 11 12 14 15 size=7 插数据x 13
list 10 11 12 14 15 16 list 0 1 2 3 4 MaxSize-1 5 6 i=3 Size=6 size=7 待插数据 x 13 7 10 11 12 13 14 15 16 0 1 2 3 4 MaxSize-1 5 6 7 i=3 size=6 ...
(4)删除数据元素 ListDelete(L,i,x int ListDelete Seq list* L, int i, Data Type *x) int i: *x=L->list; /*保存删除的元素到x中*/ forgj=i+; j<=L->size-l; j++)L->list[j-1=L->list[j; /*依次前移*/ sIze /*数据元素个数减1*/ return 1
(4)删除数据元素ListDelete(L, i, x) int ListDelete(SeqList *L, int i, DataType *x) { int j; *x = L->list[i]; /*保存删除的元素到x中*/ for(j = i +1; j <= L->size-1; j++) L->list[j-1] = L->list[j]; /*依次前移*/ L->size--; /*数据元素个数减1*/ return 1; }
MaxSize-l 删除前 list 10 12 13 14 15 16 sIze- 要删的数据x13 0 6 MaxSize-1 删除后 10 15 16 e=6
删除前 list 10 11 12 13 14 15 16 删除后 list 10 11 12 14 15 16 0 1 2 3 4 5 6 MaxSize-1 0 1 2 MaxSize-1 3 4 5 6 i=3 size=7 size=6 要删的数据 x 13 ...