蓝桥杯备战(1)STL专题
sort函数
头文件
#include <algorithm>
使用方法 :
sort(first,last,cmp);
first是元素的起始位置,last是元素的结束地址,cmp是排序方式。
如果写cmp,那么默认为从小到大排序
- 代码的实现
(1)自定义cmp函数 代码如下
bool cmp(int a, int b)
{
return b<a;
}
sort(a,a+n,cmp);
这时系统默认a>b,输出true,式子是从大到小排序的
(2)冲在比较运算符 代码如下:
bool operator< (const Student & s1,const Student &s2)
{
if(s1.age == s2.age)
return s1.name>s2.name;
else
return s1.age<s2.age;
}
sort(a,a+n);
(3)声明比较类 :
struct cmp
{
bool operator() (const Student & s1,const Student &s2)
{
if(s1.age == s2.age)
return s1.name>s2.name;
else
return s1.age<