sort排序
sort排序,对给定区间所有元素进行排序,也可以称作自定义排序,因为我们可以根据自己的需求,实现从大到小或者从小到大的快速排序,执行效率较高。
用法
1、sort函数可以三个参数也可以两个参数,必须的头文件#include < algorithm>和using namespace std;
2、它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n)
3、Sort函数有三个参数:(第三个参数可不写)
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
两个参数的用法
附上代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int a[7]={2,44,22,5,8,9,1},i;
printf("排序前:");
for(i=0;i<7;i++)
printf("%3d",a[i]);
printf("\n");
sort(a,a+7);
printf("排序后:");
for(i=0;i<7;i++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
运行结果:
三个参数的用法
附上代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{
return a>b;//从大到小
}
int main()
{
int a[7]={2,44,22,5,8,9,1},i;
printf("排序前:");
for(i=0;i<7;i++)
printf("%3d",a[i]);
printf("\n");
sort(a,a+7,cmp);
printf("排序后:");
for(i=0;i<7;i++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
运行结果: