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;
}
乔巴之无所不能
乔巴之无所不能
随时随地看视频慕课网APP
相关分类