B00012 C++算法库的sort()函数

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B00012 C++算法库的sort()函数相关的知识,希望对你有一定的参考价值。

这个程序介绍了sort()函数个各种用法。

源程序来自:std::sort - cppreference.com

程序如下:

#include <algorithm>
#include <functional>
#include <array>
#include <iostream>

int main()
{
    std::array<int, 10> s = {5, 7, 4, 2, 8, 6, 1, 9, 0, 3};

    // sort using the default operator<
    std::sort(s.begin(), s.end());
    for (int a : s) {
        std::cout << a << " ";
    }
    std::cout << '\n';

    // sort using a standard library compare function object
    std::sort(s.begin(), s.end(), std::greater<int>());
    for (int a : s) {
        std::cout << a << " ";
    }
    std::cout << '\n';

    // sort using a custom function object
    struct {
        bool operator()(int a, int b)
        {
            return a < b;
        }
    } customLess;
    std::sort(s.begin(), s.end(), customLess);
    for (int a : s) {
        std::cout << a << " ";
    }
    std::cout << '\n';

    // sort using a lambda expression
    std::sort(s.begin(), s.end(), [](int a, int b) {
        return b < a;
    });
    for (int a : s) {
        std::cout << a << " ";
    }
    std::cout << '\n';
}

程序运行结果如下:

0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0

以上是关于B00012 C++算法库的sort()函数的主要内容,如果未能解决你的问题,请参考以下文章

C++STL标准算法库的学习笔记

七排序

ACM 学习心得

通信算法之一百零七:通信算法库函数

激光雷达点云数据处理相关算法库收集

为 C++ 选择 begin() 和 end()