原题链接:[编程入门]链表合并
解题思路:
结构体链表,函数参数传对象,排序的时候指明排序规则; |
注意事项:
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; }//dongdong
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复