C++ Sort函数的用法
1.头文件
#include <algorithm>
#include <functional>
2.数组排序
typedef dataType int;
//升序
sort( begin, end, less<dataType>() );
//降序
sort( begin, end, greater<dataType>() );
3.结构体排序
//优先按姓名从小到大排序,若姓名一样,则按年龄从小到大排序
struct Student{
string name;
int age;
};
Student stu[100];
- 函数法
int comp(const student &s1,const student &s2){
if(s1.name==s2.name){
return s1.age>s2.age;
}
return s1.name>s2.name;
}
//左闭右开,所以是对s[0]到s[n-1]排序
sort(s,s+n,comp);
- 重载运算符法
bool operator > (const student2 & s2) const {
if(name==s2.name){
return age<s2.age;
}
return name<s2.name;
}
sort(s2,s2+n);