sort()用于C++中,对给定区间所有或部分元素进行排序。属于C++语言的STL模板(Standard Templates Library)。头文件是 #include<algorithm>
它将多种排序方法综合,比手写的普通排序快
复杂度为 O(n log2 n)
格式1:
sort(区间起始位置,区间结束位置);
这样系统会默认按此区间的升序排列。
举个栗子:
#include<iostream>
#include<algorithm>
using namespace std;
int a[10];
int main()
{
for(int i=0;i<10;i++)
cin>>a[i]; //输入
//使用sort()进行升序排序
sort(a,a+10); //a其实表示a[0],为起始位置;
// 而(a+10)就是a[9],为结束位置
for(int i=0;i<10;i++)
cout<<a[i]<<' ';
return 0;
}
输入:
10 6 8 19 100 0 -1 78 18 20
那如果想使用sort() 实现降序排列呢?
格式2:
bool cmp(类 a,类b)
{
return a>b;
}
sort(区间起始位置,区间结束位置,cmp);
在这里,cmp()函数是对于sort()函数定义的一种排序规则,sort()函数会一丝不苟的按照cmp()函数来排序。
cmp()函数里的类取决于要进行排序的数据的类型.
举个栗子:
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int a