已有a、b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。
输入:第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成
思路:创建两个链表,合并链表,对链表中的学号进行升序排列(选择排序)
#include<iostream>
using namespace std;
struct student
{
int id, sum;
student *next;
};
student *Clist(int n) //创建链表
{
int idd,num;
student *head = NULL, *pnew = NULL, *p = NULL; //头指针,新节点指针,当前节点指针
cin >>idd>> num;
head = new student;
head->id = idd;
head->sum = num;
head->next = NULL;
p = head;
f