Status GetElem(SqList L, int i, ElemType *e)
{
if(L.length == 0 || i < 1 || i > L.length)
{
return ERROR;
}
*e = L.data[i - 1];
return OK;
}//操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1
Satus 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--)
{
L -> data[k + 1] = L -> data[k];
}
}
L -> data[i - 1] = e; //将新元素插入
L -> length++;
return OK;
}//操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减一
Satus ListDelete (SqList *L, int i, ElemType e)
{
int k;
if(L->length == 0)
{
return ERROR;
}
if(i < 1 || i > L->length) //当i不在范围内时
{
return ERROR;
}
*e = L->data[i - 1];
if(i < L->length) //若删除位置不在表尾
{
for(k = i; k < L->length; k++)
{
K -> data[k - 1] = L -> data[k];
}
}
L -> length--;
return OK;
}
数据结构(七)线性表(二)
最新推荐文章于 2024-08-31 20:17:42 发布