1.在顺序表中获得第i个元素
算法伪代码:
status GetElem_L(LinkList L,int i,ElemType *e){
if(L->length==0) //空表返回错误
return ERROR;
if(i<1||i>L->length)//获取位置不在表范围内返回错误
return ERROR;
*e=L.data[i-1];
return OK;
}
2.在顺序表中插入元素
算法伪代码:
status ListInsert(LinkList *L,int i,ElemType e){
if(L->length+1>MAXSIZE)//列表已满返回错误
return ERROR;
if(i<1||i>L->length+1)//插入位置不合法返回错误
return ERROR;
if(i<=L->length)
{//先把第i个位置空出来
for(k=L->length-1;k>i-1;k--)
{L.data[k+1]=L.data[k];}
L.data[i-1]=e;
}
L->length++;
return OK;
}
3.在顺序表中删除元素
算法伪代码:
status ListDelete(LinkList *L,int i,ElemType *e){
if(L->length==0)//列表为空返回错误
return ERROR;
if(i<1||i>L->length)//删除位置不合法返回错误
return ERROR;
*e=L.data[i-1];
if(i<L->length)
{
for(k=i;k<=L->length-1;k++)
{L.data[k]=L.data[k+1];}
}
L->length--;
return OK;
}