其他分享
首页 > 其他分享> > compare

compare

作者:互联网

function:

 

struct:

 

参考:

greater:

1 template <class T> struct greater {
2   bool operator() (const T& x, const T& y) const {return x>y;}
3   typedef T first_argument_type;
4   typedef T second_argument_type;
5   typedef bool result_type;
6 };

less:

1 template <class T> struct less {
2   bool operator() (const T& x, const T& y) const {return x<y;}
3   typedef T first_argument_type;
4   typedef T second_argument_type;
5   typedef bool result_type;
6 };

 

自定义cmp类:

// CLASS For: map, multimap
struct classcomp_char {
  bool operator() (const char& lhs, const char& rhs) const
  {return lhs<rhs;}
};

// CLASS For: Type<int> : set, multiset, priority_queue
// OBJ For Function: sort
struct classcomp {
  bool operator() (const int& lhs, const int& rhs) const
  {return lhs<rhs;}
} myobject;

// Func For Function: sort
bool myfunction (int i,int j) { return (i<j); }


int main ()
{
  std::set<int,classcomp> set_test;                         // set
  std::multiset<int,classcomp> multiset_test;               // multiset
  std::map<char,int,classcomp_char> map_test;               // map
  std::multimap<char,int,classcomp_char> multimap_test;     // multimap

  // using mycomparison:
  typedef std::priority_queue<int,std::vector<int>,classcomp> mypq_type;
  mypq_type pq_test;                                        // priority_queue



  // using function as comp
  std::sort (myvector.begin()+4, myvector.end(), myfunction); // sort
  // using object as comp
  std::sort (myvector.begin(), myvector.end(), myobject);     //sort

  return 0;
}

 

标签:std,sort,compare,myvector,const,queue,priority
来源: https://www.cnblogs.com/habibah-chang/p/14852692.html