c++ sort函数
今天get到了一点sort自定义排序函数的用法
sort函数的优势
STL中的sort()并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动选用合适的排序方法。当数据量较大时采用快速排序,分段递归。一旦分段后的数据量小于某个阀值,为避免递归调用带来过大的额外负荷,便会改用插入排序。而如果递归层次过深,有出现最坏情况的倾向,还会改用堆排序,是一个非常灵活方便的函数~
sort函数的使用
(1)头文件:
1 |
(2)参数:
sort函数一共有三个参数:sort(begin, end, cmp)
<1> begin为指向待排序的结构的第一个元素的指针
<2> end为指向待排序的结构的最后一个元素的下一个位置的指针
<3> cmp参数为排序准则,cmp参数可以不写,如果不写的话,默认从小到大进行排序
(3)自定义排序准则
<1> 对类排序:
1 | class Pair |
<2> 对一般数据类型从大到小排序
注意:这里的greater是函数,要加()
1 | int num1[3] = {3, 1, 2}; |
还有别的用法欢迎在评论区补充~
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 快乐小凳凳!
评论