关于插入结点的函数(函数求助)!
先谢谢大家能看我的帖本人在看书途中遇到了一些问题……内容如下:
struct student *insert(struct student *head,struct student *stud) //从main传入表的头和要插入的头。
{
struct student *p0,*p1,p2; //定义变量
p1=head; //使p1指向第一个结点
p0=stud; //P0指向新的结点
if(head==null) //*原来的表不时空的
{head=p0;p0->next=null;} //把表加入空表中
else
{
while((p0->num>p1->num)&&(p1->next=NULL)) //这是循环是怎么循环的?如果旧表大于新表并且旧表结尾不等于NULL时循环,那ieguo为假时,是不是不循环了?循环一次执行了哪些代码?
{
p2=p1;
p1=p1->num<=p1->num) //当新表小于旧表时执行以下代码……{}里的这些代码吗?
{if(head==p1)head=p0;
else
p2->next=p0;
p0->next=p1;
else
{p1->next=p0;p0->next=NULL;}
}
n=n+1;
return(head);
}
汗,在用笔抄代码之前,有点模糊,后来抄了一遍,慢慢有点清晰了!
不过,还时给大家看看吧!
谢谢!