2024年3月13日发(作者:)
sort()函数的用法
sort((),(),cmp),它是用来对一组序列进行排序的。sort函数进行排序的时间复
杂度为n*log2n,比冒泡之类的排序算法效率要高,包含在头文件为#include
准库中。
其有三个参数,前两个参数是待排序区间;第三个参数可有可无(第三个参数代表比较规则),
没有第三个参数的时候,sort()默认按升序排列,有第三个参数的时候,可以通过这个参数实现各种
各样的排序,包括降序。sort()函数功能强大就是强大在第三个参数。
sort()函数除了可以对int型、char型、double型、字符串排序外,还可以实现对结构体、链表、
pair、vector、等类型进行排序,但需要自己写比较函数。而且sort()既可以对数组排序,也可以对
vector容器排序。下面就先说一下sort()只有两个参数时的用法,具体代码见下:
.
.
.
.
.
.
.
.
.
.
.
.
.
7 {
1 #include
2 #include
3 #include
4 #include
5 using namespace std;
6 int main()
8 int a[10]={6,5,4,8,3,9,7,10,1,2};
.
.
.
.
.
.
.
.
9 char b[8]={'h','z','l','n','m','r','d','g'};
10 vector
11 vector
.
.
12
27 sort(a+1,a+9); //
可以指定任意合法的排序区间,不能越界
.
.
.
.
30
35 sort(b,b+8); //
对整个
b
排序
.
.
.
.
38
43 sort((),());//
输入两个迭代器从而排序一个范围
.
.
.
.
46
51 sort((),());
.
.
.
.
55 return 0;
.
.
.
.
56 }
上面几种方法都是升序排列,要想按降序排列,有3种方法可以实现:
.
1. sort()函数只有两个参数时默认升序排列,在排完序后,再用reverse()函数把整个序列
给翻转一下,这样序列就变成了降序。
.
.
27 sort(a+1,a+9); //
可以指定任意合法的排序区间,不能越界
发布者:admin,转转请注明出处:http://www.yc00.com/web/1710305853a1734340.html
评论列表(0条)