原题链接:[编程入门]链表合并
解题思路:
| 结构体链表,函数参数传对象,排序的时候指明排序规则; |
注意事项:
| STL链表下的sort,以及merge函数(归并前,先排序)的使用方法; |
参考代码:
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
typedef struct student//定义结构体
{
int stu_number;
int stu_score;
}stu;
bool cmp(stu a,stu b)//定义排序规则
{
return a.stu_number<b.stu_number;
}
int main()
{
stu temp;
list<stu> m1,m2;
int N,M;
cin>>N>>M;
while(N--)
{
cin>>temp.stu_number>>temp.stu_score;
m1.push_back(temp);
}
m1.sort(cmp);
while(M--)
{
cin>>temp.stu_number>>temp.stu_score;
m2.push_back(temp);
}
m2.sort(cmp);
list<stu>::iterator it;//定义迭代器
m1.merge(m2,cmp);//按照排序规则归并 m2->m1
for(it=m1.begin();it!=m1.end();it++)
{
cout<<it->stu_number<<" "<<it->stu_score<<endl;
}
return 0;
}//dongdong0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复