C/C++ codeStatus ListInsert(SqList &L,LONG index,ElemType e)
//初始条件:线性表L已存在,1<=i<=ListLength(L)+1
//操作结果:在L中的第i个元素之前插入新的数据元素e,L的长度加1
{
if((index<1) || (index>L.length+1)){
cout<
return ERROR;
}
if(L.length>=L.size){
ElemType *newbase=(ElemType*)realloc(L.elem,
(L.size+LISTINCREMENT)*sizeof(ElemType));
if(newbase==NULL){
cout<
exit(OVERFLOW);
}
else{
L.elem=newbase;
L.size+=LISTINCREMENT;
}
}
//移动元素
int i=L.length;
for(;i>index-1;i--)
L.elem[i]=L.elem[i-1];
//插入元素
L.elem[index-1]=e;
//修改表长
L.length++;
return OK;
}