1. 结构体外部定义排序规则

#include <iostream>
#include <algorithm>
#include <queue>
using namespace std;
struct node
{int x;
};
bool cmp(node e1, node e2)
{/*1. 小于是小到大 升序2. 大于是大到小 降序*/return e1.x < e2.x;
}
int main()
{node a[2];a[0].x = 1;a[1].x = 2;sort(a, a + 2, cmp);cout << a[0].x << endl<< a[1].x;return 0;
}

2. 结构体内部的排序规则

#include <iostream>
#include <algorithm>
#include <queue>
using namespace std;
struct node
{int x;bool operator<(const node e) const{/*1. 把原始的放前面2. 小于是小到大 升序3. 大于是大到小 降序*/return x < e.x;}
};
int main()
{node a[2];a[0].x = 1;a[1].x = 2;sort(a, a + 2, cmp);cout << a[0].x << endl<< a[1].x;return 0;
}

3. 优先队列的排序规则

和上面的正好相反

#include <iostream>
#include <algorithm>
#include <queue>
using namespace std;
struct node
{int x;bool operator<(const node e) const{/*1. 把原始的放前面2. 大于是小到大 升序3. 小于是大到小 降序*/return x < e.x;}
};
int main()
{priority_queue<node> p;p.push({1});p.push({3});p.push({2});while (!p.empty()){cout << p.top().x << endl;p.pop();}return 0;
}

4. tie排序规则

#include <iostream>
#include <tuple>
#include <algorithm>
using namespace std;
int main()
{int a[5] = {1, 2, 3, 4, 5};auto cmp = [](int e1, int e2) {//递减第二个放前面//递增第一个放前面return tie(e2) < tie(e1);};sort(a, a + 5, cmp);for (auto e : a)cout << e << ' ';return 0;
}

sort排序规则 - 最全相关推荐

  1. Sql Server 中汉字处理排序规则,全角半角

    --1. 为数据库指定排序规则 CREATE DATABASE db COLLATE Chinese_PRC_CI_AS GO ALTER DATABASE db COLLATE Chinese_PR ...

  2. Python内置函数sorted()和列表方法sort()排序规则不得不说的事

    Python内置函数sorted()和列表方法sort()可以使用key参数指定排序规则,并且都是稳定排序,也就是说,对于指定规则不能涵盖的元素,本来谁在前面,排好以后谁还是在前面. 直接用代码说话: ...

  3. sort 排序大全 - 最全的sort排序

    文章目录 偷懒的tie 结构体内部 外部 精简 偷懒的tie #include <iostream> #include <tuple> #include <algorit ...

  4. 为sort函数指定排序规则时注意的问题以及错误的写法

    注意: 写排序规则时,return的应该是一个表达式,这样比较方便一些. 当然,也可以写return true或者false,但是这样写的时候一定要写全,否则假如只写 if(···) return t ...

  5. Collections.sort()泛型集合排序的使用,和自定义类实现Comparable<T>接口重写compareTo(T o)方法完成Collections.sort()排序,以及自定义排序规则

    Collections算法类         1.Collections类是Java提供的一个集合操作工具类. 2.Collections类定义了一系列用于操作集合的静态方法,用于实现对集合元素的排序 ...

  6. SQL Server数据库查询区分大小写、全半角——排序规则的应用(转载)

    SQL Server数据库查询区分大小写.全半角--排序规则的应用 因为偶然的原因,需要在INNER JOIN联表时,让对应字段进行区分大小写的比较.而默认情况下建立的Sql Server数据库是不区 ...

  7. Java中Arrays.sort()的三种常用用法(自定义排序规则)

    Arrays.sort(int[] a) 这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序. 举例如下: import java.util.Arrays;public class Mai ...

  8. linux文件名排序规则,Linux sort 排序使用详解

    前阵子,写脚本时,用到sort来对文件排序:第一次没有达到所需的效果,原来是LANG设置问题,后来先export LANG=C,然后再sort就满足我的要求了. 某牛人总结的sort用法:http:/ ...

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

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

最新文章

  1. mongoDB学习笔记(一)
  2. 电脑图片不显示缩略图怎么办
  3. Linux入侵类问题排查思路
  4. INVEST优秀用户故事的特点
  5. angular4设置全局变量_angularjs 设置全局变量的7种方法
  6. 动态创建ActiveRecord条件的查询 MyQuery
  7. vue 断开正在发送的请求_vue 发送请求频繁时取消上一次请求
  8. 【iCore4 双核心板_ARM】例程二十三:LWIP_HTTP实验——网页服务器
  9. 回望2017:一个前端从业者砥砺前行的一年
  10. arm linux dma_alloc_coherent 实现,dma_alloc_coherent (建立一致性 DMA 映射函数)
  11. LeetCode199. Binary Tree Right Side View
  12. FIO压测-SSDvsHDD
  13. Latex 编译错误 Error Launching Console Application XeLaTeX ...系统找不到指定的文件。
  14. 容器-2018百战程序员JAVA全系列终结版第07阶:容器和数据结构
  15. mdf转sql mysql_如何将SQL数据库.MDF格式的导入到mysql数据库里面啊
  16. 京东T9架构师手把手教你怎么写年薪50万的java简历
  17. 每日方法分享:手机识别图片文字怎么弄?
  18. STM32CubeIDE配置使用
  19. Xftp卸载修复报错1628:完成基于脚本的安装失败
  20. TransactionScope使用(二)——msdtc不可用

热门文章

  1. python数据挖掘你准备好了吗?
  2. 微信公众号的绑定域名详解
  3. 手机照片局部放大镜_苹果11相机设置哪个最清晰 iphone11放大镜怎么打开
  4. 电工杯:电动汽车充放电优化管理
  5. 华为无线wifi无服务器,手机可用wifi 无服务器
  6. jQuery FlexSlider插件一些使用上的小tips
  7. C++ 中malloc函数详解(转载)
  8. 【RPA之家转载】只需一步快速合并几百个Excel文件
  9. vgg16卷积层的计算量_vgg16模型参数量和使用的的内存计算
  10. 新病毒或已潜伏电脑 同样源自美国武器库