The function prev_permutation is used to sort in an descending order based upon lexicographical criteria.
template<class BidirectionalIterator> bool prev_permutation (BidirectionalIterator first, BidirectionalIterator last); template<class BidirectionalIterator, class Compare> bool prev_permutation (BidirectionalIterator first, BidirectionalIterator last, Compare comp);
Returns true if all elements have been sorted.