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; }
乔巴之无所不能
相关分类