排序——sort的用法

排序

sort的用法

*sort(起始地址, 结束地址的下一位, 比较字符);

vector v = {5, 1, 3, 9, 11}; 
sort(v.begin(), v.end());//默认升序
for(int i = 1; i <= v.size(); ++i) cout << a[i] << ' ';
子定义比较函数
bool cmp(const int &u, const int &v)
{
    return u > v;
}

int main(){
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	vector v = {5, 1, 3, 9, 11};
    sort(v.begin(), v.end(),cmp);//降序排序
    for(int i = 0; i < v.size(); ++i)
        cout << v[i] << ' ';
} 
vertor v = {5, 1, 3, 9, 11};
sort(v.begin(), v.end(), [](const int &u, const int &v))
{//降序排序
    return u > v;
};
for(int i = 0; i < v.size(); ++i)
        cout << v[i] << ' ';

结构体可以将小于号重载后进行排序,当然用前面的方法也是可行的

struct Node{
    int u, v;
    bool operator < (const Node &m) const{
        return u == m.u? v < m.v : u < m.u;
    }
};

你可能感兴趣的:(c++,开发语言,算法)