1. 问题描述:
(1)建立单向链表,每个结点包括:学号,姓名,性别。(2)按照学号对该链表进行升序排序,要求采用冒泡法,而后进行输出。在主函数中分别调用创建、排序和输出函数。2. 问题的解决方案:根据问题描述,首先创建链表,不仅要给各个结点输入数据,更重要的是要建立起前后结点相互联结的关系。可同时设置3个指针变量,head、p、q,它们都是结构类型的指针,分别代表表头、新建结点和表尾结点。使用new操作符开辟新的存储空间,用来存放新结点。而后对该链表进行升序排列,排序时指针要进行互换,没有数据交换时进行结点的访问。四、主要技术问题的描述根据三的分析,主要问题在于链表的创建以及排序过程中指针的指向。如需要创建N=5个结点,if(i==1) head=p1; //将链表中第一个新建结点作为表头elsep2->next =p1;p2=p1;p1=new(STUDENT);cin>>p1->stu_number >>p1->name >>p1->sex >>p1->age; p2->next =NULL; //最后一个结点的next成员不指向任何结点排序时,设置三个结构指针m、s、p来记录位置,m=head; p=head->next; s=p->next;若不需要交换,指针依次向后移动:m=p; p=s;s=s->next;如果需要进行交换,则:p->next=s->next; s->next=p;m->next=s;m=s;s=p->next;将两个非递减的链表合并成一个新的非递减的链表。(1)建立单向链表,每个结点包括:学号,姓名,性别。(2)按照学