数据结构单链表的插入
程序代码:
void InsertList(LinkList L,int e) { if(L==NULL) { printf("线性表为空"); return ERROR; } int i=0; Node *s,*p,*ptr; s=(Node *)malloc(sizeof(Node)); p=L; s->data=data; while((p->data<data)&&(p->next!=NULL)) { ptr=p; p=p->next; i++; } if(p->data>=data) { if(p=L) { s->next=p; L->next=s; } else { s->next=p; ptr->next=s; } } else { p->next=s; s->next=NULL; } printf("插入成功"); }
这个是老师给的代码 我着实看不懂是什么意思!
1.while((p->data<data)&&(p->next!=NULL))中p->data<data是什么意思啊?
2.ptr=p;为什么要引入ptr啊?
4.if(p->data>=data)这个又是什么?
然后为什么又要分出来p=L的情况??
好蒙圈 啊 !!