How to sort an Array in descending order using STL in C++?
Given an array arr[], sort this array in descending order using STL in C++. Example:
Input: arr[] = {1, 45, 54, 71, 76, 12} Output: {76, 71, 54, 45, 12, 1} Input: arr[] = {1, 7, 5, 4, 6, 12} Output: {12, 7, 6, 5, 4, 1}
Approach: Sorting can be done with the help of sort() function provided in STL. Syntax:
sort(arr, arr + n, greater<T>());
CPP
// C++ program to sort Array // in descending order // using sort() in STL #include <bits/stdc++.h> using namespace std; int main() { // Get the array int arr[] = { 1, 45, 54, 71, 76, 12 }; // Compute the sizes int n = sizeof (arr) / sizeof (arr[0]); // Print the array cout << "Array: " ; for ( int i = 0; i < n; i++) cout << arr[i] << " " ; // Sort the array in descending order sort(arr, arr + n, greater< int >()); // Print the sorted array cout << "\nDescending Sorted Array:\n" ; for ( int i = 0; i < n; i++) cout << arr[i] << " " ; return 0; } |
Output:
Array: 1 45 54 71 76 12 Descending Sorted Array: 76 71 54 45 12 1
Time Complexity: O(Nlog(N)) where N is the size of the array.
Auxiliary Space: O(1)