代码如下:

#include<iostream>
using namespace std;
#include<string>
#include<algorithm>
#include<list>// list 之排序案例
/**
* Author:晚风亦是救赎
* CreateTime:2021/10/16
*
* 案例描述:将Person自定义数据类型进行排序,Person中属性有姓名、年龄、身高
* 排序规则:按照年龄进行升序,如果年龄相同按照身高进行降序
*/class Person {
public:Person(string name, int age, int height) {this->m_Age = age;this->m_Height = height;this->m_Name = name;}string m_Name;  // 姓名int m_Age;      // 年龄int m_Height;   // 身高
};// 自定义排序规则
bool myCompare(Person& p1, Person& p2) {if (p1.m_Age == p2.m_Age) { // 年龄相同,按照年龄降序return p1.m_Height > p2.m_Height;}// 按照年龄升序return p1.m_Age < p2.m_Age;
}void test() { list<Person> lst; // 创建容器// 准备数据Person p1("刘备", 35, 175);Person p2("曹操", 45, 180);Person p3("孙权", 40, 170);Person p4("赵云", 25, 190);Person p5("张飞", 35, 160);Person p6("关羽", 35, 200);// 插入数据lst.push_back(p1);lst.push_back(p2);lst.push_back(p3);lst.push_back(p4);lst.push_back(p5);lst.push_back(p6);cout << "排序前:" << endl;for (list<Person>::iterator it = lst.begin(); it != lst.end(); it++) {cout << "姓名:" << it->m_Name << " 年龄:" << it->m_Age << " 身高:" << it->m_Height << endl;}cout << "排序后:" << endl;lst.sort(myCompare);for (list<Person>::iterator it = lst.begin(); it != lst.end(); it++) {cout << "姓名:" << it->m_Name << " 年龄:" << it->m_Age << " 身高:" << it->m_Height << endl;}
}int main() {test();system("pause");return 0;
}

(G_G) !

C++ list 排序案例相关推荐

  1. WritableComparable排序案例(区内排序)

    WritableComparable排序案例(区内排序) 需求 1. 需求说明 2. 文件 案例分析 1. 需求分析 2. 输入数据 3. 期望输出数据 4. 实现基于WritableComparab ...

  2. WritableComparable排序案例(全排序)

    WritableComparable排序案例(全排序) 需求 1. 需求说明 2. 文件 案例分析 1. 需求分析 2. 输入数据 3. 期望输出数据 4. FlowBean类 5. Mapper类 ...

  3. js时间-价格-排序案例____冒泡排序实例

    js 时间-价格-排序,静态页面排序案例 冒泡排序实例 在项目中用到的一个例子,分享一下. var sort = { sortdata : '',      //排序之前必须先填充原始数据 //来源我 ...

  4. 分享一个有趣的shell脚本--单词及字母去重排序案例

    概述 今天主要分享一个用shell脚本来实现单词及字母去重排序案例,下面一起来看下吧~ 需求 1.按单词出现频率降序排序! 2.按字母出现频率降序排序! 相关文本: the squid project ...

  5. //排序案例//按照年龄进行升序,年龄相同按照身高降序

    ///排序案例 //按照年龄进行升序,年龄相同按照身高降序 #include<iostream> #include<string> #include<list> u ...

  6. 使用Mapreduce案例编写用于统计文本中单词出现的次数的案例、mapreduce本地运行等,Combiner使用及其相关的知识,流量统计案例和流量总和以及流量排序案例,自定义Partitioner

    工程结构: 在整个案例过程中,代码如下: WordCountMapper的代码如下: package cn.toto.bigdata.mr.wc; import java.io.IOException ...

  7. 生活中c语言排序案例,C语言之数字排序-基于冒泡排序法的一些案例(对未知数量的数字进行排序)...

    C语言之数字排序 在学习C语言的时候遇到了几个比较基础的排序问题,又结合了之前的处理方法.觉得在这个需要再系统地进行复习一下. 当我们在初学C语言的时候,我们都会结合三个数字的排序来理解计算机处理问题 ...

  8. 企业Shell面试题18:单词及字母去重排序案例

    1.按单词出现频率降序排序! 2.按字母出现频率降序排序! the squid project provides a number of resources to assist users desig ...

  9. 大数据之-Hadoop3.x_MapReduce_全排序案例---大数据之hadoop3.x工作笔记0115

    然后我们来看一个全排序的案例,我们还是利用之前我们那个程序, 之前我们,有一堆的手机号,每个手机号,都有对应的,上行流量,下行流量,总流量,而且还有重复的手机号,我们就是把比如: 1356757585 ...

最新文章

  1. 图像质量损失函数SSIM Loss的原理详解和代码具体实现
  2. 管理之道(三) - 不要吝惜赞美
  3. Teleport Ultra 抓包工具
  4. 前端学习笔记之强制类型转换
  5. C++安全方向(二):2.5 Base58_比特币钱包地址_算法分析
  6. Vue源码解析:虚拟dom比较原理
  7. Linux 档案属性与目录配置
  8. 申报火热进行中|2021“科创中国”开源创新榜评选
  9. 引入阿里云字体图标库的方法
  10. 使用application对象实现网站访问量统计
  11. 基于QT实现西克sick激光LMS系列单线激光数据读取及显示
  12. Python爬取《明日之子》(腾讯视频)评论和弹幕,看看大家都在吐槽什么
  13. 中国中产阶级“被中产”?
  14. 分享一个开源的Springboot博客系统,界面简洁精致,拿来即用
  15. 精读《Spring 概念》
  16. linux下写的程序生成.exe在windows下运行
  17. dnf吸怪源码c语言,[讨论]DNF吸怪/吸物分析(怪物数组)分析
  18. 生信漫谈分析杨梅UDP-糖基转移酶基因家族
  19. 关于最新笔记本机型预装win8如何更换为win7的解决办法
  20. 人工智能自然语言处理NLP入门教程

热门文章

  1. 淘宝京东海外代购低价之谜
  2. 特殊的象形柱图echarts
  3. CentOS如何增加虚拟内存
  4. 安装了两个python 如何卸载其中一个_python2卸载
  5. leecode01俩数之和
  6. 前端 node 使用 TSPL指令集操作 打印机不限品牌 (标签打印机,普通打印机)
  7. SQL server 数字转字符串
  8. tp5 Loader.php,ThinkPHP5 Loader 类介绍以及使用 | 剑花烟雨江南
  9. 2022:股票程序化交易实战2022Q2
  10. LeetCode每日一练 —— 88. 合并两个有序数组