题目 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 思路 堆排序 收获 用优先队列实现最大最小堆 注意下列代码中优先队列的创建声明,需要自定义比较函数 代码 ...
分类:
其他好文 时间:
2020-02-24 00:25:13
阅读次数:
93
1.unorderd_map自定义键 自定义类型 1、由于unordered_map是采用哈希实现的,对于系统的类型int, string等,都已经定义好了hash函数,所以如果我们引入新的自定义类型的话,系统并不知道如何去计算我们引入的自定义类型的hash值,所以我们就需要自己定义hash函数,告 ...
分类:
其他好文 时间:
2019-10-10 00:26:58
阅读次数:
115
一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。 用到的库 定义 最简单: set和其他的stl一样,都支持自定义。 因为set会自动将元素从小到大排序,所以我们可以设定它的比较函数,这里与优先队列十分相似。 法1 利用自定义比较函数: 法2 运算符重载 法3 友元函数 遍历 也是需要 ...
分类:
其他好文 时间:
2019-08-09 01:19:40
阅读次数:
94
set是关联容器,类似于集合。 特点是里面的元素不会重复,而且元素时有序的。 1.声明定义: 2.常见用法 3.自定义比较函数 1)元素不是结构体:(自定义比较函数myComp,重载“()”操作符) 2)如果元素是结构体 补充: C++容器分为顺序容器和关联性容器: 顺序容器包括vector、deq ...
分类:
编程语言 时间:
2019-03-06 16:34:11
阅读次数:
159
通过区间问题,更加深刻的了解了pair的用法,用sort函数对pair进行排序的时候,默认的是根据pair的first的进行升序,也可以自定义比较函数,如下: 对于区间问题的解法,果然大佬的方法比我们的简单和代码质量高了很多 //感觉最好解决这个问题的做法就是使用了pair,不像我解决时用得时que ...
分类:
其他好文 时间:
2018-04-07 14:55:20
阅读次数:
152
《python基础编程》里有讲到一段高级排序: “如果希望元素能按照特定的方式进行排序(而不是sort函数默认的方式,即根据python的默认排序规则按升序排列元素,第5章内对此进行讲解),那么可以通过compare(x,y)的形式自定义比较函数。compare(x,y)函数会在x<y时返回负数,在 ...
分类:
编程语言 时间:
2018-03-31 00:35:34
阅读次数:
404
前言 最近在刷算法题,常常需要自定义比较函数作为作为函数对象送入 stl 中,遇到了下面的问题: 泛型算法 sort() 的比较函数是这么写: 而优先队列里的比较函数是这么写: 同样是实现元素的递增关系即 “前驱 < 后继”,为什么一个是 “a.x < b.x”,一个是"a.x > b.x" 呢? ...
分类:
编程语言 时间:
2018-01-28 15:37:53
阅读次数:
665
从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法 sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级。本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法 ...
分类:
其他好文 时间:
2017-05-26 10:58:24
阅读次数:
225
使用STL中的map时候,有时候需要使用结构题自定义键值,比如想统计点的坐标出现的次数 这样子的话,会出现一堆报错 看着似乎满屏错误,其实就是少了一个键值比较函数,因为我们知道map插入键值后默认从小到大排序,使用自定义结构体作为键值,但是没有自定义比较函数的话,编译器无法为插入的元素排序。 这样子 ...
分类:
其他好文 时间:
2017-05-01 00:20:14
阅读次数:
1404
sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级。本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法: 1、sort入门: 使用sort需要包含algorithm头文件,完整代码如下 运行结 ...
分类:
编程语言 时间:
2016-08-31 23:46:07
阅读次数:
255