xt7-9.cpp
上传用户:liubin
上传日期:2022-06-13
资源大小:85k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. #include <iostream>
  2. using namespace std;
  3. #define NULL 0     
  4. struct student
  5. {long num;
  6.  float score;
  7.   student*next;
  8. };    
  9. int n;   
  10.   
  11. student *insert(student *head,student *stud)
  12. {student *p0,*p1,*p2;
  13.  p1=head;                          //使p1指向第一个结点
  14.  p0=stud;                          //指向要插入的结点
  15.  if(head==NULL)                    //原来的链表是空表
  16.  {head=p0;p0->next=NULL;}          //使p0指向的结点作为头结点
  17.  else
  18.  {while((p0->num>p1->num) && (p1->next!=NULL))
  19.  {p2=p1;                       //使p2指向刚才p1指向的结点
  20.   p1=p1->next;}                //p1后移一个结点
  21.   if(p0->num<=p1->num)
  22.   {if(head==p1) head=p0;        //插到原来第一个结点之前
  23.    else p2->next=p0;            //插到p2指向的结点之后
  24.    p0->next=p1;}
  25.   else
  26.   {p1->next=p0; p0->next=NULL;}}  //插到最后的结点之后
  27.    n=n+1;                              //结点数加1
  28.    return (head);
  29. }
  30.