满满努力学习数据结构
*线性表的删除操作
代码如下:
bool ListDel(SeqList &L,int i,ElemType &e){
if(i<1||i>L.length)//检查i的值是否超出范围
return false;
e=L.data[i-1];//要删除的元素赋值给e
for(int j=i;j<L.length;j++){//此时j是i的后面的元素,全部前移一位
L.data[j-1]=L.data[j];
L.length–;//表的长度减一
return true;
}
按值查找
int LocateElem(SeqList L,ElemType e){
for(int i=0;i<L.length;i++)
if(L.data[i]==e)//找到之后i+1是这个元素在表中第几个位置
return i+1;
return 0;
}
插入操作
bool ListInsert(SeqList &L,int i,ElemType e){
if(i<1||i>L.length+1)
return false;
if(i>=MaxSize)//当前存储空间已经满了,不能插入
return false;
for(int j=L.length;j>=i;j–)//从后面循环回来,将i-1之后的元素后移
L.data[j]=L.data[j-1];
L.data[i-1]=e;//给第i个元素赋值e
L.length++;//线性表长度加一
return true;
}