浏览 1300 次
锁定老帖子 主题:C++自定义容器排序规则
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-12-02
<pre name="code" class="c++"> /************************************************************************* > File Name: MyComparator.cpp > Author: ma6174 > Mail: ma6174@163.com > Created Time: 2013年12月 2日 23:22:07 ************************************************************************/ #include<iostream> #include<set> #include<iterator> using namespace std; template <class T> class MyComparator { public : enum compare_mode {normal,reverse}; private: compare_mode mode; public: MyComparator(compare_mode m=normal):mode(m) { } bool operator()(const T &t1,const T &t2) { return mode==normal ? t1<t2 : t2<t1; } }; int main() { set<int> s1; for(int i=0;i<10;i++) { s1.insert(i); } copy(s1.begin(),s1.end(),ostream_iterator<int>(cout," ")); cout<<endl; MyComparator<int> com(MyComparator<int>::reverse); set<int,MyComparator<int> > s2(com); for(int i=0;i<10;i++) { s2.insert(i); } cout<<"==========="<<endl; copy(s2.begin(),s2.end(),ostream_iterator<int>(cout," ")); cout<<endl; } </pre> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |