使用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, 1

C ++程序:

#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