愿尔安然无恙


私信TA

用户名:H2130819045

访问量:12410

签 名:

向往星辰大海,喜欢落日晚风。

等  级
排  名 59
经  验 10496
参赛次数 16
文章发表 56
年  龄 20
在职情况 学生
学  校 贺州学院
专  业 软件工程

  自我简介:

不想改bug ^_^

解题思路:

结构体链表,函数参数传对象,排序的时候指明排序规则;

注意事项:

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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区