顺序表插入操作C语言实现

顺序表的插入操作写得还挺清楚的,逻辑比较规整,适合刚接触数据结构的同学啃一啃。用的是 C 语言写法,像Insert_SqList这种插入函数,基本套路就是先判断位置是否合法,再整体元素后移,插进去,别忘了更新长度。嗯,虽然代码里有些符号显示有点问题,但思路还算扎实,照着改一改就能跑起来。

顺序表的基本操作之一就是插入,用 C 语言实现的时候,像Insert_SqList函数这样就挺标准:

Status Insert_SqList(Sqlist *L, int i, ElemType e) {
  int j;
  if (i < 1> L->length + 1) return ERROR;
  if (L->length >= MAX_SIZE) {
    printf("线性表溢出!\n");
    return ERROR;
  }
  for (j = L->length - 1; j >= i - 1; --j)
    L->Elem_array[j + 1] = L->Elem_array[j];
  L->Elem_array[i - 1] = e;
  L->length++;
  return OK;
}

操作顺序是:先判断插入位置是否合法,再看容量够不够,才是移动元素和赋值。注意i - 1是插入位置的数组下标,别搞错了。写业务逻辑的时候就可以直接套这个结构。

想更系统地理解顺序表或者试试别的语言实现?下面这些文章还蛮有的:

如果你是初学者,建议先从 C 语言的顺序表看起,配合链表对比着理解更清楚;要是你更熟 Java,也可以直接跳到对应的实现方式。

ppt 文件大小:6.17MB