(c++)关于stl里set容器的自定义排序
2009-01-28 15:52
295 查看
最近结合stl看数据结构,对许多原本半生不熟的知识都有了点领悟,大家知道stl里无论是向量还是容器的sort算法都很有用也很方便.但是似乎大家一直都是用int类型来初始化这些对象,那我用自定义的一个结构来对初始化这些对象,并且想对结构里的某一个元素的大小来排序,该怎么办呢,我上网查了些资料,并根据自己的学习与琢磨,找到了比较简单的方法.那么不说废话,看代码:
代码比较简单就是对stl里greater(当然也可以是less)继承,并且重载()运算符即可.
#include<iostream> #include<set> using namespace std; struct stu{ char a[10]; int s; }; class stu1:greater<stu> { public: bool operator () (stu b1,stu b2) const{ return b1.s<b2.s; } }; main() { set<stu,stu1 > a; for(int i=0;i<3;i++){ stu d; cin>>d.a>>d.s; a.insert(d); } set<stu,stu1 >::iterator l; for(l=a.begin();l!=a.end();l++){ cout<<l->a<<" "<<l->s<<endl; } }
代码比较简单就是对stl里greater(当然也可以是less)继承,并且重载()运算符即可.
相关文章推荐
- 关于stl里set容器的自定义排序
- (c++)关于stl里set容器的自定义排序
- (c++)关于stl里set容器的自定义排序
- C++ STL 有关于SET集合部分 的自定义数据类型的排序 以及 pair的使用
- C++ STL 有关于SET集合的基本操作,本文不包含涉及到自定义数据类型的排序
- 关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用
- STL 自定义排序问题
- 关于GridView中自定义分页、单选、多选、排序、自增列的简单应用
- C++中关于set的自定义排序函数的书写
- 关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用。
- 关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用
- 关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用
- STL--自定义类型的排序
- STL中关于set容器的总结
- 关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用
- STL关于排序
- 标准模板库 STL-2 编程题#6: priority queue(Coursera 程序设计与算法 专项课程3;容器中自定义排序顺序 MyCompare,判断质数)
- 关于STL的排序,和比较参数cmp
- 关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用
- 关于GridView中自定义分页、单选、多选、排序、自增列的简单应用