使用C ++ STL中的sort()函数以降序对数组进行排序
给定一个数组,我们必须使用C++STLsort()函数以降序对元素进行排序。
sort()函数
它是算法头文件的内置函数,用于按指定顺序对容器(如数组,向量)进行排序。
参考:http://www.cplusplus.com/reference/algorithm/sort/
要按降序对元素进行排序,我们需要传递一个函数作为第三个参数,我们可以使用Greater<>()函数。
此函数创建元素之间的比较,然后将较大的(最大的元素)放在首位,然后可以得到降序排序的元素。
语法:
sort(first, last, camp/function);
在这里,
first-是我们要从中对元素进行排序的第一个元素的索引(指针)。
last-是last元素的最后一个索引(指针)。
camp/function-一个比较函数,用于创建元素之间的比较。
示例
Input:
Array: 10, 1, 20, 2, 30 Output:
Sorted Array: 30, 20, 10, 2, 1C++程序:
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
//声明并定义一个数组
int arr[]={10, 1, 20, 2, 30};
//数组的大小
//总大小/元素大小
int size = sizeof(arr)/sizeof(int);
//调用sort()对数组元素进行排序
sort(arr, arr+5, greater<>());
//打印排序的元素
cout<<"Sorted elements are: ";
for(int i=0; i<size; i++)
cout<<arr[i]<<" ";
return 0;
}输出结果
Sorted elements are: 30 20 10 2 1