链表的插入操作的疑问,可以改成注释后面的吗

        //可以改成注释后面的吗

struct student * insert(struct student * head)

{

    struct student *p0,*p1,*p2;

    p0=(struct student * )malloc(sizeof(LEN));

    printf("\n输入所要插入节点的数据:");

    scanf("%ld,%f",&p0->num,&p0->score);

    p1=head;

    if(head==NULL)//if(p1==NULL)

    {

      head=p0;

      p0->next=NULL;

    }

    else

    if(p1->num>p0->num)

    {

    p0->next=head;//p0->next=p1;

    head=p0;//head=p0;

    }

    else

    {

    while(p1!=NULL)

    {

    if(p1->num<p0->num)

    {

    p2=p1;

    p1=p1->next;

    }

    else

    {

    p0->next=p1;

    p2->next=p0;

    break;

    }

    }

    if(p1->next==NULL)

    {

    p0->next=NULL;

    p2->next=p0;

    }

   

    }

    return(head);  

 }


溯源1
浏览 1335回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP