Search code examples
c++sortingstlvectoriterator

Sorting a vector in descending order


Should I use

std::sort(numbers.begin(), numbers.end(), std::greater<int>());

or

std::sort(numbers.rbegin(), numbers.rend());   // note: reverse iterators

to sort a vector in descending order? Are there any benefits or drawbacks with one approach or the other?


Solution

  • With c++14 you can do this:

    std::sort(numbers.begin(), numbers.end(), std::greater<>());