题目描述
已有a、b两个链表,每个链表中的结点包括学好、成绩。要求把两个链表合并,按学号升序排列。
输入描述
第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成
输出描述
按照学号升序排列的数据
样例输入
2 3
5 100
6 89
3 82
4 95
2 10
样例输出
2 10
3 82
4 95
5 100
示例代码:
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
struct Node{
char num[20];
int grade;
struct Node* next;
};
int N,M;
//尾插法创建链表
void create(struct Node* &a, struct Node* &b){
struct Node *p,*q;
int n,m;
cin>>n>>m;
a=(struct Node*) malloc (sizeof(Node));
memset(a->num,'\0',20);
a->next=NULL;
cin>>a->num>>a->grade;
q=a;
for(int i=1;i<n;i++){
p=(struct Node*) malloc (sizeof(Node));
memset