STL常用算法总结
include<algorithm>
1 sort(起始地址,结束地址+1,比较函数)
作用:对连续存储的元素从起始地址到结束地址从小到大排序
情况1:从大到小排序
定义比较函数例子:
bool cmp(int a,int b)
{
return(a>b);
}
情况2:结构体数组排序
法1:重载运算符(定义在结构体内部)
struct Edge{
int no,w;//按w从小到大,w相同时按no从小到大
bool friend operator <(Edge a,Edge b)
{
if(a.w==b.w) return a.no<b.no;
return a.w<b.w;
}
};
法2:定义比较函数
struct Edge{
int no,w;//按w从小到大,w相同时按no从小到大
};
bool cmp(Edge a,Edge b)
{
if(a.w==b.w) return a.no<b.no;
return a.w<b.w;
}
2 find(起始地址,结束地址+1,查找对象)
作用:返回查找对象的地址
3 reverse(起始地址,结束地址+1)
作用:反转从起始位置到结束地址的元素