sort是c++ STL中提供的一個函數模板,可以用來對多種類型進行排序。
默認是升序排序。它有兩種使用方法:
default (1) | template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last); |
---|---|
custom (2) | template <class RandomAccessIterator, class Compare> void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp); |
通過使用第二種方法,提供一個新的比較操作即可實現降序排序。
比如,我有一個vector<string> str_vec,如下代碼即可實現:
struct greater
{
template <typename T>
bool operator() (const T &a, const T &b) {return a > b;}
};
sort(str_vec.begin(), str_vec.end(), greater()); //使用示例