1.sort简介:
在头文件 < algorithm>中
(1)用于C++中,对给定区间所有元素进行排序;
(2)使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n)

可以自定义对结构体按照需要进行定义排序
例如 按照关键字顺序:年龄>工号>姓名从小到大

struct man
{int g,age; //工号,年龄string name;//姓名
};bool operator < (const man& m1 , const man& m2)
{if(m1.age==m2.age) //年龄相同时 {if(m1.g == m2.g )  //工号相同时return m1.name < m2.name ;  //按照姓名由小到大排序else              //工号不同时return m1.g <m2.g;    //直接安工号从小到大排序}else              //年龄不同时return m1.age < m2.age; //直接按照年龄从小到大排序
}

原题目:

题目描述:

职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来。

输入描述:
输入第一行包括1个整数N,1<=N<=30,代表输入数据的个数。

接下来的N行有N个职工的信息:
包括职工号(整数), 姓名(字符串,长度不超过10), 年龄(1<=age<=100)。

输出描述:
可能有多组测试数据,对于每组数据,
输出结果行数为N和3的较小值,分别为年龄最小的职工的信息。
关键字顺序:年龄>工号>姓名,从小到大。

示例1
输入
5
501 Jack 6
102 Nathon 100
599 Lily 79
923 Lucy 15
814 Mickle 65

输出
501 Jack 6
923 Lucy 15
814 Mickle 65

#include <bits/stdc++.h>
using namespace std;
struct man
{int g,age;string name;
};bool operator < (const man& m1 , const man& m2)
{if(m1.age==m2.age){if(m1.g == m2.g )return m1.name < m2.name ;elsereturn m1.g <m2.g;}elsereturn m1.age < m2.age;
}
int main()
{int n,k= 1 ;cin>>n;man x[35];for(k = 0 ; k < n ; k++)cin>>x[k].g>>x[k].name>>x[k].age;sort(x,x+n);if(n < 3)for(int i = 0 ; i < n ; i++)cout<<x[i].g<<" " <<x[i].name<<" "<<x[i].age<<endl;elsefor(int i = 0 ; i < 3  ; i ++)cout<<x[i].g<<" " <<x[i].name<<" "<<x[i].age<<endl;return 0;
}

C++自定义sort排序相关推荐

  1. sort函数用法使用lambda表达式自定义sort排序方法

    1 sort函数包含在头文件为#include<algorithm>的c++标准库中. 2 sort函数有三个参数,排序起始地址,结束地址, 排序方法(默认参数,可以不写,默认是从小到大) ...

  2. 关于Lucene的自定义Sort排序

    参考:http://blog.csdn.net/wxwzy738/article/details/8585786 使用Sort排序工具实现排序  Lucene在查询的时候,可以通过以一个Sort作为参 ...

  3. layui 自定义排序_浅谈layui中table的sort排序

    table模块是layui框架最核心的组成之一,它用于对表格进行一些列功能和动态化数据操作,本文介绍了layui中table的sort排序,解决了在我们使用sort排序时可能遇到的一些问题. 今天来谈 ...

  4. C#之IComparable用法,实现ListT.sort()排序

    这篇文章主要介绍了C#的一些基础知识,主要是IComparable用法,实现List<T>.sort()排序,非常的实用,这里推荐给大家.   List<T>.sort()可以 ...

  5. c#sort升序还是降序_c# List的sort排序方法详解

    诸如List&ltT&gt等泛型集合类,直接提供了sort()方法用于将集合中的元素进行排序. 但是,其前提是集合中存放的是可直接排序的基本类型,如List&ltint& ...

  6. SAP UI5 应用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)功能试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  7. python数组排序sort_详解python中sort排序使用

    1.前言 昨天一学妹问我一个关于python的问题,当时在外忙碌,没时间细看.今天看一下,咋一看我还真的不知道这个问题,bookinfo.sort(reverse=True ,key=lambda x ...

  8. Golang sort 排序

    1.前言 开发过程中,我们经常需要对元素进行排序,使用 Go 我们可以轻松实现. Go 内置 sort 包中提供了根据一些排序函数可对任何序列进行排序,并提供自定义排序规则的能力. sort 包实现了 ...

  9. 自写sort排序函数(支持重载排序规则)

      最近有点浮躁,无心练题,便捣鼓了一阵子的C++.接触了一点点的重载和模板后,心血来潮想写一点牛逼点的东西.因为平时打编程比赛要排序的地方都是直接用的C++中自带的sort排序函数,就想自己也写一个 ...

  10. SQL学习之使用order by 按照指定顺序排序或自定义顺序排序

    我们通常需要根据客户需求对于查询出来的结果给客户提供自定义的排序方式,那么我们通常sql需要实现方式都有哪些,参考更多资料总结如下(不完善的和错误望大家指出): 一.如果我们只是对于在某个程序中的应用 ...

最新文章

  1. yum update不升级内核方法
  2. 初探GNN-文本表示学习
  3. 2021-09-30
  4. Linux 使用sigaction查询或设置信号处理方式
  5. java ajax传输图片_Java使用Ajax实现跨域上传图片功能
  6. 用Word2007查找和替换功能批量设置图片位置
  7. 我要自学编程,Java和C语言相比哪个好?
  8. junit 生成html报告,gradle – 如何为JUnit 5测试创建HTML报告?
  9. 怎么用psftp下载linux上的文件夹,使用PSFTP上传和下载Linux服务器文件.doc
  10. java中一元加号和减号是什么_一元运算符
  11. 浅析图的邻接矩阵进行平方运算的含义
  12. Gmail服务器拒绝发送邮件,向Gmail发送邮件被退信,其他均正常,请协助,谢谢大家...
  13. 让div填满剩下的空间
  14. 深度强化学习DDPG算法高性能Pytorch代码(改写自spinningup,低环境依赖,低阅读障碍)
  15. 信息熵与信息增益的概念
  16. 从c++到java+android
  17. 关系数据库语言SQL课后练习题(二)
  18. 线性特征与非线性特征、线性模型与非线性模型
  19. Python爬虫与Opencv结合,制作一款自己的拍照翻译程序!
  20. 71页大数据治理运营整体解决方案(附下载)

热门文章

  1. innodb 关键特性、缓冲池、插入缓冲、两次写
  2. MySQL索引入门 普通索引 唯一索引
  3. 深入理解@Lazy注解
  4. Spring事务原理分析(三)--事务代理调用过程
  5. 根据ReentrantLock -- 解析AQS原理
  6. CyclicBarrier源码解读
  7. JVM基础学习之基本概念、可见性与同步
  8. Java基础-----基类Object源码分析
  9. Swift - 使用下划线(_)来分隔数值中的数字
  10. window.onerror=hide_error_message;