比较常用的、有排序功能的有
1.sort(起点,终点,排序规则)
2.set<typename,排序规则>
3.priority_queue<typename,vector<typename, 排序规则>
默认排序规则均为可排序的从小到大,现有的排序规则也有greater<int> 。
自定义排序规则,最重要的就是排序规则的编写,通用的排序规则的编写如下:
//重载()
struct Cmp{
bool operator() (const typename &a,const typename &b){ //const和& 可提高效率,也可不写
return a>b; //排序规则,满足返回1,不满足返回0;
}
};
对应的变量的声明,注意sort的声明的不同
sort(a,a+5,Cmo()); //注意这里,sort排序Cmp()有括号
set<int,Cmp> s;
priority_queue<int,vector<int>,Cmp> pq;
其中,sort的排序规则可简单写成
bool cmp(int a,int b){
return a>b;
}
此时,so