C++ list 排序案例
代码如下:
#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 排序案例相关推荐
- WritableComparable排序案例(区内排序)
WritableComparable排序案例(区内排序) 需求 1. 需求说明 2. 文件 案例分析 1. 需求分析 2. 输入数据 3. 期望输出数据 4. 实现基于WritableComparab ...
- WritableComparable排序案例(全排序)
WritableComparable排序案例(全排序) 需求 1. 需求说明 2. 文件 案例分析 1. 需求分析 2. 输入数据 3. 期望输出数据 4. FlowBean类 5. Mapper类 ...
- js时间-价格-排序案例____冒泡排序实例
js 时间-价格-排序,静态页面排序案例 冒泡排序实例 在项目中用到的一个例子,分享一下. var sort = { sortdata : '', //排序之前必须先填充原始数据 //来源我 ...
- 分享一个有趣的shell脚本--单词及字母去重排序案例
概述 今天主要分享一个用shell脚本来实现单词及字母去重排序案例,下面一起来看下吧~ 需求 1.按单词出现频率降序排序! 2.按字母出现频率降序排序! 相关文本: the squid project ...
- //排序案例//按照年龄进行升序,年龄相同按照身高降序
///排序案例 //按照年龄进行升序,年龄相同按照身高降序 #include<iostream> #include<string> #include<list> u ...
- 使用Mapreduce案例编写用于统计文本中单词出现的次数的案例、mapreduce本地运行等,Combiner使用及其相关的知识,流量统计案例和流量总和以及流量排序案例,自定义Partitioner
工程结构: 在整个案例过程中,代码如下: WordCountMapper的代码如下: package cn.toto.bigdata.mr.wc; import java.io.IOException ...
- 生活中c语言排序案例,C语言之数字排序-基于冒泡排序法的一些案例(对未知数量的数字进行排序)...
C语言之数字排序 在学习C语言的时候遇到了几个比较基础的排序问题,又结合了之前的处理方法.觉得在这个需要再系统地进行复习一下. 当我们在初学C语言的时候,我们都会结合三个数字的排序来理解计算机处理问题 ...
- 企业Shell面试题18:单词及字母去重排序案例
1.按单词出现频率降序排序! 2.按字母出现频率降序排序! the squid project provides a number of resources to assist users desig ...
- 大数据之-Hadoop3.x_MapReduce_全排序案例---大数据之hadoop3.x工作笔记0115
然后我们来看一个全排序的案例,我们还是利用之前我们那个程序, 之前我们,有一堆的手机号,每个手机号,都有对应的,上行流量,下行流量,总流量,而且还有重复的手机号,我们就是把比如: 1356757585 ...
最新文章
- 图像质量损失函数SSIM Loss的原理详解和代码具体实现
- 管理之道(三) - 不要吝惜赞美
- Teleport Ultra 抓包工具
- 前端学习笔记之强制类型转换
- C++安全方向(二):2.5 Base58_比特币钱包地址_算法分析
- Vue源码解析:虚拟dom比较原理
- Linux 档案属性与目录配置
- 申报火热进行中|2021“科创中国”开源创新榜评选
- 引入阿里云字体图标库的方法
- 使用application对象实现网站访问量统计
- 基于QT实现西克sick激光LMS系列单线激光数据读取及显示
- Python爬取《明日之子》(腾讯视频)评论和弹幕,看看大家都在吐槽什么
- 中国中产阶级“被中产”?
- 分享一个开源的Springboot博客系统,界面简洁精致,拿来即用
- 精读《Spring 概念》
- linux下写的程序生成.exe在windows下运行
- dnf吸怪源码c语言,[讨论]DNF吸怪/吸物分析(怪物数组)分析
- 生信漫谈分析杨梅UDP-糖基转移酶基因家族
- 关于最新笔记本机型预装win8如何更换为win7的解决办法
- 人工智能自然语言处理NLP入门教程