Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
stable_sort
Prototype

template<class RandomAccessRange>
RandomAccessRange& stable_sort(RandomAccessRange& rng);

template<class RandomAccessRange>
const RandomAccessRange& stable_sort(const RandomAccessRange& rng);

template<class RandomAccessRange, class BinaryPredicate>
RandomAccessRange& stable_sort(RandomAccessRange& rng, BinaryPredicate pred);

template<class RandomAccessRange, class BinaryPredicate>
const RandomAccessRange& stable_sort(const RandomAccessRange& rng, BinaryPredicate pred);

Description

stable_sort sorts the elements in rng into ascending order. stable_sort is guaranteed to be stable. The order is preserved for equivalent elements.

For versions of the stable_sort function without a predicate ascending order is defined by operator<() such that for all adjacent elements [x,y], y < x == false.

For versions of the stable_sort function with a predicate, ascending order is designed by pred such that for all adjacent elements [x,y], pred(y,x) == false.

Definition

Defined in the header file boost/range/algorithm/stable_sort.hpp

Requirements

For versions of stable_sort without a predicate

For versions of stable_sort with a predicate:

Complexity

Best case: O(N) where N is distance(rng). Worst case: O(N log(N)^2) comparisons, where N is distance(rng).


PrevUpHomeNext