解题思路:
结构体链表,函数参数传对象,排序的时候指明排序规则; |
注意事项:
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 人评分