c++基础(排序)

作者: zidea | 来源:发表于2019-05-05 12:36 被阅读9次
Cplusplus-tutorial-in-hindi.jpg

有关排序作为一名搬砖工我几乎每天都会用到,有关排序的算法可能了解不多。最近在看数据结构和算法。
不过在 c++11 版本之后给我们提供了内建 sort 方法,方便供我们使用,扩展性也不错

#include <iostream>
#include <vector>
#include <algorithm>

int main()
{
    std::vector<int> values = {3, 5, 6, 1, 3, 8};

    std::sort(values.begin(), values.end());

    for (int value : values)
    {
        std::cout << value << std::endl;
    }
    std::cin.get();
}
1
3
3
5
6
8

在 sort 方法也接收最后一个参数为 lambda ,通过定义 lambda 来自定义排序规则。

    std::sort(values.begin(), values.end(), [](int a, int b) {
        return a < b;
    });

我们通过下面算法从小到排序,不同的是这次将 1 排到排尾。

    std::sort(values.begin(), values.end(), [](int a, int b) {
        if (a == 1)
            return false;
        if (b == 1)
            return true;
        return a < b;
    });
3
3
5
6
8
1
titleShadow.png

相关文章

网友评论

    本文标题:c++基础(排序)

    本文链接:https://www.haomeiwen.com/subject/lpvtoqtx.html