#include<algorithm>
排序
sort(数组名+n1,数组名+n2); //将数组中下标为[n1,n2)的元素从小到大排序
sort(数组名+n1,数组名+n2,greater<T>()); //对元素类型为T的元素从大到小排序
sort(数组名+n1,数组名+n2,排序规则结构名());
struct 结构名
{
bool operator()(const T & a1,const T & a2)const{
//若a1排在a2前面就返回true,否则返回false
}
};
2、查找
binary_seach(数组名+n1,数组名+n2,值);
//在[n1,n2)中找到不小于又不大于值的元素,返回true或false
binary_seach(数组名+n1,数组名+n2,值,排序规则结构名());
T * p=lower_bound(数组名+n1,数组名+n2,值);
//下界,p指向区间中小标最小的大于等于值的元素,如找不到则指向n2,可加排序规则
T * p=upper_bound(数组名+n1,数组名+n2,值);
//上界,第一个大于值的元素