数据结构单链表的插入
程序代码: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的情况??
好蒙圈 啊 !!






