http://www.cplusplus.com/reference/functional/less/ http://www.cplusplus.com/reference/algorithm/sort/?kw=sort
另外,c++中提供了比较函数,就不需要我们来重新写比较函数了
less<type>() //从小到大排序 < grater<type>() //从大到小排序 > less_equal<type>() // <= gtater_equal<type>()// >= //这四种函数 // greater example #include <iostream> // std::cout #include <functional> // std::greater #include <algorithm> // std::sort int main () { int numbers[]={20,40,50,10,30}; std::sort (numbers, numbers+5, std::greater<int>()); for (int i=0; i<5; i++) std::cout << numbers[i] << ' '; std::cout << '\n'; return 0; }set集合默认排序方式 从小到大即less的,我们可以通过创建set的时候指定排序方式
set<int,greater<int>> m_set = { 1, 1, 5, 3, 2, 9, 6, 7, 7 }; for each (auto var in m_set) { cout << var << " "; }另外如果闲创建的比较繁琐我们可以用typedef来重命名
typedef std::set<int,std::greater<int>> IntSet; typedef std::set<int,std::less<int>> IntSet; IntSet my_set IntSet::iterator ipos;