std::sort使用自定义比较函数
来源:互联网 发布:精通qt4编程 第2版 编辑:程序博客网 时间:2024/05/22 07:51
//std_sort.cpp#include<vector>#include<algorithm>#include<string>#include<functional>#include<iostream>using namespace std;struct Person{int age;string name;Person(const int a=0,const string &n="nobody"):age(a),name(n){}bool operator < (const Person &rhs) const { return this->age < rhs.age; }bool operator > (const Person &rhs) const { return this->age > rhs.age; }};bool Greater(const Person &a, const Person &b){return a.age > b.age;}struct LesserAge: public binary_function<Person,Person,bool>{inline bool operator()(const Person &a, const Person &b){return a.age < b.age;}};int main(){vector<Person> vecPerson;vecPerson.push_back(Person(24,"Calvin"));vecPerson.push_back(Person(32,"Benny"));vecPerson.push_back(Person(30,"Alice"));vecPerson.push_back(Person(28,"Alison"));std::sort(vecPerson.begin(),vecPerson.end());for(size_t i=0; i<vecPerson.size(); ++i) cout<<vecPerson[i].age<<", "<<vecPerson[i].name<<endl;cout << "========" << endl;std::sort(vecPerson.begin(),vecPerson.end(),std::greater<Person>());for(size_t i=0; i<vecPerson.size(); ++i) cout<<vecPerson[i].age<<", "<<vecPerson[i].name<<endl;cout << "========" << endl;std::sort(vecPerson.begin(),vecPerson.end(),LesserAge());for(size_t i=0; i<vecPerson.size(); ++i) cout<<vecPerson[i].age<<", "<<vecPerson[i].name<<endl;cout << "========" << endl;std::sort(vecPerson.begin(),vecPerson.end(),Greater);for(size_t i=0; i<vecPerson.size(); ++i) cout<<vecPerson[i].age<<", "<<vecPerson[i].name<<endl;cout << "========" << endl;return 0;}
0 0
- std::sort使用自定义比较函数
- 自定义std::sort的比较函数时发生"…
- std::set自定义比较函数
- std::set自定义比较函数
- 自定义std::sort的比较函数时发生"invalid operator<"错误原因
- 关于std::sort中的比较函数使用时的严格弱排序(strict weak order)
- 自定义std::set比较函数的例子
- std::set、自定义类型与比较函数
- std::set、自定义类型与比较函数
- 如何自定义sort函数中的比较函数
- std::sort 函数
- 使用sort 和自定义比较函数对任意成员变量排序
- 使用C++标准库sort自定义比较函数导致死循环问题
- 使用C++标准库sort自定义比较函数导致死循环问题
- std::sort函数中的陷阱
- std::sort函数编译错误
- std::sort函数中的陷阱
- std::sort函数中的陷阱
- BZOJ 1588: [HNOI2002]营业额统计
- oracle Net manger配置网络服务
- 浅析Android中的消息机制
- Sicily 1128. DICE
- HDOJ 2040 亲和数
- std::sort使用自定义比较函数
- Servlet进阶API--ServletConfig
- 树和二叉树的应用
- [挖坑]未解决的题
- (大数据相关)2016-01-08北京海淀远大路
- 在Realview MDK中添加自己的FLASH编程算法
- Perl 面向对象的真正意思
- Google Analytics自定义异常格式
- unregisterReceiver报错处理 android