• c++ list排序案例


    #include<iostream>
    using namespace std;
    #include<stack>
    #include<string>
    #include<list>
    
    //list容器   排序案例  对于自定义数据类型  做排序
    
    
    //按照年龄进行升序,如果年龄相同按照身高进行降序
    
    class Person
    {
    public:
        Person(string name, int age, int height)
        {
            this->m_Name = name;
            this->m_Age = age;
            this->m_Height = height;
        }
    
        string m_Name; //姓名
        int m_Age;  //年龄
        int m_Height; //身高
    
    };
    
    //指定排序规则
    bool comparePerson(Person& p1, Person& p2)
    {
        //按照年龄  升序
        if (p1.m_Age == p2.m_Age)
        {
            //年龄相同  按照身高降序
            return p1.m_Height > p2.m_Height;
        }
        else
        {
            return p1.m_Age < p2.m_Age;
        }
    }
    
    
    void test01()
    {
        list<Person>L;//创建容器
        
        //准备数据
        Person p1("刘备", 35, 175);
        Person p2("曹操", 45, 180);
        Person p3("孙权", 40, 170);
        Person p4("赵云", 25, 190);
        Person p5("张飞", 35, 160);
        Person p6("关羽", 35, 200);
    
        //插入数据
        L.push_back(p1);
        L.push_back(p2);
        L.push_back(p3);
        L.push_back(p4);
        L.push_back(p5);
        L.push_back(p6);
    
        
        for (list<Person>::iterator it = L.begin(); it != L.end(); it++)
        {
            cout << "姓名;" << (*it).m_Name << " 年龄:" << it->m_Age << " 身高:" << it->m_Height << endl;
        }
    
        //排序
        cout << "-------------------------------------" << endl;
        cout << "排序后: " << endl;
    
    
        L.sort(comparePerson);
        for (list<Person>::iterator it = L.begin(); it != L.end(); it++)
        {
            cout << "姓名;" << (*it).m_Name << " 年龄:" << it->m_Age << " 身高:" << it->m_Height << endl;
        }
    }
    
    
    
    int main()
    {
    
        test01();
    
        //test02();
    
        system("pause");
    
        return 0;
    }
  • 相关阅读:
    搭建自己的React+Typescript环境(一)
    搭建最简React环境
    react-router v5笔记
    React 教程:如何使用 webpack 4 和 Babel 7 构建 React 应用(2018)
    JavaScript 笔记
    JavaScript常用方法
    React和相关工具链的理解
    redux-thunk
    前端构建之NPM
    react-redux总结
  • 原文地址:https://www.cnblogs.com/keepma/p/15638137.html
Copyright © 2020-2023  润新知