struct student * insert(struct student * head)
{
struct student *p0,*p1,*p2;
p0=(struct student * )malloc(LEN);
printf("\n输入所要插入节点的数据:");
scanf("%ld,%f",&p0->num,&p0->score);
p1=head;
if(head==NULL)
{
head=p0;
p0->next=NULL;
}
else
if(p1->num>p0->num)
{
p0->next=head;//head=p0;能不能改成这样
head=p0; //p0->next=p1;
}
else
{
while(p1!=NULL)
{
if(p1->num<p0->num)
{
p2=p1;
p1=p1->next;
}
else
{
p0->next=p1;
p2->next=p0;
break;
}
}
if(p1==NULL)
{
p0->next=NULL;
p2->next=p0;
}
}
return(head);
}
___C___
相关分类