How to Sort a List in Descending Order in C++


How to Sort a List in Descending Order in C++ ?

Answer

To sort a list in descending order in C++ using std::list, you can use the list's member function sort with a custom comparison function.



✐ Examples

1 Sort a List of Integers in Descending Order

In this example,

  1. We create a list named numbers using std::list with integer values.
  2. We define a custom comparison function compare that compares elements in reverse order (descending).
  3. We use the list's member function sort with compare as the argument to sort the list in descending order.
  4. Finally, we iterate through the sorted list and print its elements to the console.

C++ Program

#include <iostream>
#include <list>

// Custom comparison function for descending order
bool compare(int a, int b) {
    return a > b;
}

int main() {
    std::list<int> numbers = {5, 2, 8, 1, 3};
    numbers.sort(compare);

    // Print sorted list
    for (int num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

Output

8 5 3 2 1

2 Sort a List of Strings in Descending Order

In this example,

  1. We create a list named words using std::list with string values.
  2. We define a custom comparison function compare that compares strings in reverse order (descending).
  3. We use the list's member function sort with compare as the argument to sort the list of strings in descending order.
  4. Finally, we iterate through the sorted list and print its elements to the console.

C++ Program

#include <iostream>
#include <list>
#include <algorithm>

// Custom comparison function for descending order
bool compare(const std::string& a, const std::string& b) {
    return a > b;
}

int main() {
    std::list<std::string> words = {"banana", "apple", "cherry"};
    words.sort(compare);

    // Print sorted list
    for (const std::string& word : words) {
        std::cout << word << " ";
    }
    std::cout << std::endl;

    return 0;
}

Output

cherry banana apple 

Summary

In this tutorial, we learned How to Sort a List in Descending Order in C++ language with well detailed examples.




More C++ Lists Tutorials

  1. How to create an Empty List in C++ ?
  2. How to Initialize a List in C++ ?
  3. How to Get Length of a List in C++ ?
  4. How to create a List of size N in C++ ?
  5. How to create a List of Numbers from 1 to N in C++ ?
  6. How to create a List of Strings in C++ ?
  7. How to create a List of Empty Lists in C++ ?
  8. How to Access Elements in a List in C++ ?
  9. How to get Element in a List at a Specific Index in C++ ?
  10. How to get First Element in a List in C++ ?
  11. How to get Last Element in a List in C++ ?
  12. How to Iterate Over a List in C++ ?
  13. How to Iterate Over a List with Index in C++ ?
  14. How to Iterate Over a List in Reverse Order in C++ ?
  15. How to check if a List is Empty in C++ ?
  16. How to check if a List is Not Empty in C++ ?
  17. How to get Sub List in C++ ?
  18. How to get the Index of Specified Element in a List in C++ ?
  19. How to check if a Specific Element is present in the List in C++ ?
  20. How to check if a List contains all the elements of Another List in C++ ?
  21. How to count the Number of Occurrences of Specific Element in the List in C++ ?
  22. How to find the Element with Maximum Number of Occurrences in a List in C++ ?
  23. How to find the Element with Minimum Number of Occurrences in a List in C++ ?
  24. How to Sort a List in C++ ?
  25. How to Sort a List in Ascending Order in C++ ?
  26. How to Sort a List in Descending Order in C++ ?
  27. How to create a Two Dimensional List in C++ ?
  28. How to Iterate over a Two Dimensional List in C++ ?
  29. How to create a Three Dimensional List in C++ ?
  30. How to Copy a List in C++ ?
  31. How to deep Copy a List in C++ ?
  32. How to Split a List in C++ ?
  33. How to Join Lists in C++ ?
  34. How to Append an Element to a List in C++ ?
  35. How to Insert an Element at Specific Index in a List in C++ ?
  36. How to Append a List to another List in C++ ?
  37. How to Concatenate Two Lists in C++ ?
  38. How to check if Two Lists are Equal in C++ ?
  39. How to check if Two Lists have Same Elements (Regardless of Order) in C++ ?
  40. How to Convert a List of Integers to a List of Strings in C++ ?
  41. How to Convert a List of Strings to a List of Integers in C++ ?
  42. How to Convert a List of Floats to a List of Strings in C++ ?
  43. How to Convert a List of Strings to a List of Floats in C++ ?
  44. How to Reverse a List in C++ ?
  45. How to Shuffle a List in C++ ?
  46. How to Slice a List in C++ ?
  47. How to Slice First N Elements from a List in C++ ?
  48. How to Slice Last N Elements from a List in C++ ?
  49. How to Rotate Elements in a List in C++ ?
  50. How to Filter Elements of a List based on a Condition in C++ ?
  51. How to Remove Duplicates in a List in C++ ?
  52. How to Remove Element at a Specific Index from a List in C++ ?
  53. How to Remove Specific Element from a List in C++ ?
  54. How to Remove Element from List based on a Condition in C++ ?
  55. How to Sort a List of Strings in Dictionary Order in C++ ?
  56. How to Concatenate Strings in List in C++ ?
  57. How to create a List of Lists in C++ ?
  58. How to create a List of Dictionaries in C++ ?
  59. How to create a List of Sets in C++ ?