/*初始条件:顺序线性表L存在,1<=i<=ListLength(L)
操作结果:在L中第i个位置插入新的数据元素e,L的长度增加1*/
Status ListInsert(SqList *L, int i, ElemType e)
{
int k;
if(L->length == MAXSIZE) //顺序线性表已满
return ERROR;
if(i<1 || i>L->length+1) //i不在范围之内
return ERROR;
if(i<=L->length) //若插入的数据不在表尾
{
for(k=L->length-1; k>=i-1; k--) //从最后一个元素开始遍历到第i个位置(数组中下标为i-1)
L->data[k+1] = L->data[k]; //将要插入位置后面的数据元素向后移动一位
}
L->data[i-1] = e; //插入新元素
L->length++; //长度+1
return OK;
}
顺序存储结构的插入操作代码注释
最新推荐文章于 2022-12-18 16:38:41 发布