目录
一、容器
二、算法
#include<algorithm> //头文件
1.sort() 排序函数
sort(first,last,cmp); //参数分别是:起始地址、终止地址、比较函数(自写、可选)
比较函数cmp的写法:
bool cmp(int a,int b){
return a<b; //序列将为升序,默认也是这种情况(小的在左大的在右很好记)
}
一个类的cmp可以这么写:
struct Edge{ //例子来自Kruskal最小生成树算法
int u,v,w;
bool operator < (const Edge &temp)const{ //重载结构体的比较运算符
return w<temp.w; //同理也将会是升序排列
}
};
sort(arr,arr+n); //即可完成对结构体数组的排序
2.nth_element() 快速选择第n个数
nth_element(first,nth,last,cmp); //首地址、次序、尾地址、比较函数(可选)
默认是按升序排列找,找到第n小个数
3.max() 和 min()
max(a,b,cmp);
注意是在algorithm头文件里面以及只能比两个即可
三、迭代器