2021-01-30
2021-01-30 本文已影响0人
吴健民IT
sort()
c语言中的qsort()函数用起来繁琐且涉及很多指针的操作,所以我们推荐使用sort()函数
首先需要加上头文件“#include<algorithm>”和“using namespace std;”其使用方式如下:
sort(首元素地址(必填),尾元素地址的下一个地址(必填),比较函数(非必填));
sort的第三个参数如果不写,则默认对前面给出的区间进行递增排序。
但如果要进行其它排序,则需要制订排序规则来建立这种可比性。
下面介绍基本数据类型、结构体类型、STL容器进行自定义规则排序时cmp的写法:
(1)基本数据类型数组的排序(值得一提的是,对char型数组排序,默认为字典序)
记忆方法:如果要把数据从小到大排列,那么就用 '<’ ,因为 a < b 就是左小右大;如果要把数据从大到小排列,那么就用 ‘>’,因为 a > b就是左大右小。
(2)结构体数组的排序
(3)容器的排序
在STL标准容器中,只有vector、string、deque是可以使用sort的。这是因为像set、map这种容器是用红黑树实现的,元素本身有序,故不允许使用sort排序。