vector按存储的结构体的某一字段排序
2017-02-08 10:39
183 查看
#include <vector> #include <algorithm> struct Person { string Name; string Sex; int Age; int High; Person() :Age(0) ,High(0) { } }; 方法一: //定义比较函数 bool CmpAge(const Person& p1,const Person& p2) { return p1.Age < p2.Age;//小于号表示:从小到大排序(小的在前,大的在后) //大于号相反 } 方法二: 结构体重载比较函数: struct Person { string Name; string Sex; int Age; int High; Person() :Age(0) ,High(0) { } bool operator < (const Person& obj) const //重载小于操作符,函数最后的 const 别忘了,否则会报错。(详见:http://www.cnblogs.com/SZxiaochun/p/7731900.html) { return Age < obj.Age; } }; //定义比较函数 bool CmpAge(Person& p1,Person& p2) (参数不要 const,否则报错) { return p1 < p2;//小于号表示:从小到大排序(小的在前,大的在后) //大于号相反 } Person per1,per2; per1.Name = "xiaochun"; per1.Sex = "男"; per1.Age = 21; per1.High = 168; per2.Name = "chunxiao"; per2.Sex = "男"; per2.Age = 22; per2.High = 168; vector<Person> vec_Person; vec_Person.pushback(per1); vec_Person.pushback(per2); //排序 sort(vec_Person.begin(),vec_Person.end(),CmpAge); //vector输出 //省略 ......
相关文章推荐
- vector按存储的结构体的某一字段排序
- 可以依据任何字段进行排序并分页的存储过程
- 专用于SqlServer2005的高效分页存储过程(支持多字段任意排序,不要求排序字段唯一)--zt
- SQL Server可按任意字段排序的分页存储过程(不用临时表的方法)
- 存储过程中的select字符串排列顺序要与表中字段的排序顺序一致 ,否则在调用有些字段值无法读出
- 按某一字段排序生成名次
- 可以依据任何字段进行排序并分页的存储过程
- 可按任意字段排序的分页存储过程
- 专用于SqlServer2005的高效分页存储过程(支持多字段任意排序,不要求排序字段唯一)
- 多字段排序 分页 存储过程
- C++使用vector按多字段排序。
- lucene实现 某段时间内 多个存储字段 多关键字的查询 并且加入排序规则 思路
- 专用于SqlServer2005的高效分页存储过程(支持多字段任意排序,不要求排序字段唯一)
- 数据库分页存储过程,支持多字段排序
- 可按任意字段排序的分页存储过程(转)
- 可以多个字段排序的分页存储过程
- 多字段排序分页存储过程
- 支持任意字段排序及多表关联查询的存储过程分页
- 目前来看较完美的通用二分法分页存储过程,not in模式,适用于非数值ID,可多字段排序,可以distinct——SQL Server
- Lucene获取没有存储的排序字段的值