目录
什么是sort排序
sort()排序是C++中自带的排序算法函数。排序过程相对于堆排序、希尔排序等其他排序算法较简单。
sort排序调用方法
sort()排序函数的调用首先需要头文件algorithm:是“算法”的意思。
sort()函数有三个参数sort(begin, end, 参数三)。begin为指向待sort()的数组的第一个元素的指针,end为指向数组的最后一个元素的下一个位置的指针,参数三为排序方式,参数三如果不写,默认从小到大进行排序。将参数三写为greater<int>()就是从大到小进行排序。<>中也可以写double、long、float等等,看我们变量类型了。
普通的调用方式:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int num[10] = { 9,5,6,0,8,7,4,3,2,1 };
sort(num, num + 10, greater<int>());
for (int i = 0; i < 10; i++) {
cout << num[i] << endl;
}
return 0;
}
不只可以按照从大到小或从小到大的顺序排序,也可以在外部定义一个函数,然后将此函数作为参数传递到sort()函数中的参数三处。因此达到按照自己需要的方式进行排序的目的。
#include<iostream>
#include<algorithm>
using namespace std;
int larger(int x, int y)
{
return x % 10 > y % 10;
}
int main()
{
int a[10] = { 6,25,31,9,25,16,34,17,28,61 };
sort(a, a + 10,larger);
for (int i = 0; i < 10; i++)
{
cout << a[i] << endl;
}
return 0;
}
sort()函数排序算法应用范围很广,适用于多种语言,同时又适用于数组、结构体等。