Status ListInsert(Linklist *L, int i, ElemType e)
{ //在带头结点的单链线性表L中第i个位置之前插入元素e
Linklist p = *L;
int j = 0;
while(p != NULL && j < i - 1) //寻找第i - 1个结点
{
p = p->next;
j++;
}
//下面if语句中的判断条件这么理解?
//为什么能表示i小于1或者大于表长加1,完全读不懂,求大神指点。
if(!p || j > i - 1) //i小于1或者大于表长加1
return ERROR;
Linklist s =(Linklist)malloc(sizeof(LNode)); //生产新结点
s->data = e; //插入L中
s->next = p->next;
p->next = s;
return OK;
}
- 1 回答
- 0 关注
- 780 浏览
添加回答
举报
0/150
提交
取消