Open In App

How to sort a Vector in descending order using STL in C++?

Improve
Improve
Like Article
Like
Save
Share
Report

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++




// C++ program to sort Vector
// in descending order
// using sort() in STL
 
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // Get the vector
    vector<int> a = { 1, 45, 54, 71, 76, 12 };
 
    // Print the vector
    cout << "Vector: ";
    for (int i = 0; i < a.size(); i++)
        cout << a[i] << " ";
    cout << endl;
 
    // Sort the vector in descending order
    sort(a.begin(), a.end(), greater<int>());
 
    // Print the reversed vector
    cout << "Sorted Vector in descending order:\n";
    for (int i = 0; i < a.size(); i++)
        cout << a[i] << " ";
    cout << endl;
 
    return 0;
}


Output

Vector: 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++




// C++ program to sort Vector
// in descending order
// using sort() in STL
 
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // Get the vector
    vector<int> a = { 1, 7, 5, 4, 6, 12 };
 
    // Print the vector
    cout << "Vector: ";
    for (int i = 0; i < a.size(); i++)
        cout << a[i] << " ";
    cout << endl;
 
    // Sort the vector in descending order
    sort(a.rbegin(), a.rend());
 
    // Print the reversed vector
    cout << "Sorted Vector in descending order:\n";
    for (int i = 0; i < a.size(); i++)
        cout << a[i] << " ";
    cout << endl;
 
    return 0;
}


Output

Vector: 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)



Last Updated : 18 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads