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)
作用:反转从起始位置到结束地址的元素

原文地址:https://www.cnblogs.com/StoneXie/p/9472338.html