69,371
社区成员
发帖
与我相关
我的任务
分享
Status ListInsert(LinkList L,int i,ElemType e) // 在带头结点的单链线性表 L中第 i个位置之前插入元素 e
{
int j=0;
LinkList p=L,s;//p指向头结点
while(p&&j<i-1) // 寻找第 i-1个结点
{
p=p->next;
j++;//位置计数器
}
/*执行到这里有2种情况
1.p=NULL;j <= i - 1;->表太短,要求的位置靠后
2.p != NULL; j = i -1;->插入位置在表中
*/
if(!p||j>i-1) //处理第1种情况,并处理i <= 0的无效输入
return ERROR;
//分配结点并初始化成员
s=(LinkList)malloc(sizeof(LNode));
s->data=e;
//入表
s->next=p->next;
p->next=s;
return OK;
}