Given a vector, sort this vector in descending order using STL in C++.
Example:
Input: vec = {1, 45, 54, 71, 76, 12}
Output: {76, 71, 54, 45, 12, 1}
Input: vec = {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 1:
sort(arr, arr + n, greater<T>());
C++
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector< int > a = { 1, 45, 54, 71, 76, 12 };
cout << "Vector: " ;
for ( int i = 0; i < a.size(); i++)
cout << a[i] << " " ;
cout << endl;
sort(a.begin(), a.end(), greater< int >());
cout << "Sorted Vector in descending order:\n" ;
for ( int i = 0; i < a.size(); i++)
cout << a[i] << " " ;
cout << endl;
return 0;
}
|
OutputVector: 1 45 54 71 76 12
Sorted Vector in descending order:
76 71 54 45 12 1
Time Complexity: O(N log N)
Auxiliary Space: O(1)
Syntax 2:
sort(arr.rbegin(),arr.rend());
C++
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector< int > a = { 1, 7, 5, 4, 6, 12 };
cout << "Vector: " ;
for ( int i = 0; i < a.size(); i++)
cout << a[i] << " " ;
cout << endl;
sort(a.rbegin(), a.rend());
cout << "Sorted Vector in descending order:\n" ;
for ( int i = 0; i < a.size(); i++)
cout << a[i] << " " ;
cout << endl;
return 0;
}
|
OutputVector: 1 7 5 4 6 12
Sorted Vector in descending order:
12 7 6 5 4 1
Time Complexity: O(N log N), Where N is the size of the vector
Auxiliary Space: O(1)