vector中struct等自定义结构排序
2014-07-21 20:24
399 查看
对于vector结构包含自定义的包括struct等的排序问题,常见的几种方法:
#include <vector> #include <string> #include <algorithm> using namespace std; struct mystruct { string name; int score; bool operator< (const struct mystruct& v) const { return score < v.score; } bool operator== (const struct mystruct& v) const { return score == v.score; } }; class Comparer { public: bool operator() (const mystruct&a, const mystruct& b) const { return a.score < b.score; } }; bool compare(const struct mystruct& a, const struct mystruct& b) { return a.score < b.score; } int main(int argc, char **argv) { vector<struct mystruct> myvect; struct mystruct tag; tag.name="bbb"; tag.score=80; myvect.push_back(tag); tag.name="aaa"; tag.score=11; myvect.push_back(tag); tag.name="ccc"; tag.score=22; myvect.push_back(tag); //sort(myvect.begin(), myvect.end(), compare); //sort(myvect.begin(), myvect.end()); //sort(myvect.begin(), myvect.end(), greater<struct mystruct>() ); sort(myvect.begin(), myvect.end(), less<struct mystruct>() ); sort(myvect.begin(), myvect.end(), Comparer()); vector<struct mystruct>::iterator iter; for (iter = myvect.begin(); iter != myvect.end(); ++iter) { printf("it->first=%s,it->second=%d\n", iter->name.c_str(), iter->score); } return 0; }
相关文章推荐
- vector,priority_queue对于自定义结构的排序方法
- 对包含Struct的Vector就其中的一种属性排序 [转贴]
- vector元素为自定义结构体类型时如何对容器元素进行排序?
- STL中vector自定义对象的排序、删除
- vector元素为自定义结构体类型时如何对容器元素进行排序?
- opencv中排序Key-Value对结构sorted_vector
- 自定义泛型的结构(struct)
- 元素为自定义复合结构时 map,set 如何处理重复 key 及排序?
- 要修改自定义结构的值,应该用Class而不是Struct
- (转)类(class)和结构(struct)的区别是什么?它们对性能有影响吗?.NET BCL里有哪些是类(结构),为什么它们不是结构(类)?在自定义类型时,您如何选择是类还是结构?
- vector中针对自定义类型的排序
- 对包含Struct的Vector排序
- c++中vector自定义排序的问题
- C++,vector 自定义类型的排序
- STL中vector的赋值,遍历,查找,删除,自定义排序——sort,push_back,find,erase
- vector中自定义结构体的排序
- struct+vector实现树结构
- 自定义GridView分页排序功能的结构整理
- 类(class)和结构(struct)的区别是什么?它们对性能有影响吗?.NET BCL里有哪些是类(结构),为什么它们不是结构(类)?在自定义类型时,您如何选择是类还是结构?
- 【转】c++中Vector等STL容器的自定义排序