题目描述
已有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 6 89
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#include<string.h>
using namespace std;
struct node
{
int no;
double score;
}ans[10000];
bool cmp(node a, node b)
{
return a.no<b.no;
}
int main()
{
int n, m;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(int i=0; i<n; i++)
scanf("%d %lf",&ans[i].no,&ans[i].score);
for(int i=n; i<n+m; i++)
scanf("%d %lf",&ans[i].no,&ans[i].score);
sort(ans,ans+m+n, cmp);
for(int i=0; i<m+n; i