以顺序表存放的数据是整数类型为例 ~
- 按位序插入
bool ListInsert(SqList &L,int i,int e){ // i 为要插入位置的位序,e 为要插入的值
if(i<1||i>L.length+1) //位序数值不合法
return false;
if(L.length>=L.MaxSize) //表已满,不可插
return false;
for(int j=L.length;j>=i;j--) //后移,为即将插入的值腾地方
L.data[j]=L.data[j-1];
L.data[i-1]=e; //位序 对应的下标为 位序-1
L.length++; //插入一个值,表的长度加 1
return true;
}
- 按下标插入
bool ListInsert(SqList &L,int i,int e){ // i 为要插入位置的下标,e 为要插入的值
if(i<0||i>L.length) //下标数值不合法
return false;
if(L.length>=L.MaxSize) //表已满,不可插
return false;
for(int j=L.length;j>i;j--) //后移,为 e 腾地方
L.data[j]=L.data[j-1];
L.data[i]=e;
L.length++;
return true;
}