
静态链表的插入操作(C语言实现)
//获得空闲分量的下标
int Malloc_SLL(StaticLinkList space)
{
int i = space[0].cur;
if(space[0].cur)
{
//更新备用分量
space[0].cur = space[i].cur;
return i;
}
}
/*在静态链表L中第i个元素之前插入新的数据元素e*/
Status ListInsert(StaticLinkList L, int i, ElemType e)
{
int j, k, l;
k = MAX_SIZE - 1; //数组的最后一个元素下标
if(i<1 || i>ListLength(L)+1)
{
retrun ERROR;
}
j = Malloc_SLL(L);
if(j)
{
L[j].data = e;
for(l=1; l<=i-1; l++)
{
k = L[k].cur;
}
L[j].cur = L[k].cur;
L[k].cur = j;
return OK;
}
return ERROR;
}




近期评论