如何使用C++中的STL对数组进行降序排序
给定一个数组arr[],使用C++中的STL将这个数组按降序排序。
例子:
输入: arr[] = {1, 45, 54, 71, 76, 12}
输出: {76, 71, 54, 45, 12, 1}
输入: arr[] = {1, 7, 5, 4, 6, 12}
输出: {12, 7, 6, 5, 4, 1}
方法: 可以使用STL中提供的sort()函数进行排序。
语法:
sort(arr, arr + n, greater<T>());
// C++程序对数组进行降序排序
//使用STL中的sort()
#include <bits/stdc++.h>
using namespace std;
int main()
{
//获取数组
int arr[] = {1,45,54,71,76,12};
//计算大小
int n = sizeof(arr) / sizeof(arr[0]);
//输出数组
cout << "数组: ";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
//将数组按降序排序
sort(arr,arr + n,greater<int>());
//输出排序后的数组
cout << "\n降序排序后的数组:\n";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
return 0;
}
输出:
数组:1 45 54 71 76 12
降序排序后的数组:
76 71 54 45 12 1
时间复杂度: O(Nlog(N)),其中N为数组大小。
辅助空间: O(1)