泛型算法(二十)之最大最小值算法

1、min(const T& a, const T& b):两个值中的最小值。

    std::cout << std::min(2, 6);
    //打印结果:2

2、min(const T& a, const T& b, Compare comp):重载版本。

自己实现comp,向算法定制操作。

3、max(const T& a, const T& b):两个值中的最大值。

    std::cout << std::max(2, 6);
    //打印结果:6

4、max(const T& a, const T& b, Compare comp):重载版本。

自己实现comp,向算法定制操作。

5、min_element(ForwardIterator first, ForwardIterator last):返回序列中最小值的迭代器。

    std::vector<int> c = {1, 5, 0, 8, 11, 4};
    //找出c中最小的元素
    auto iter = std::min_element(c.begin(), c.end());
    //输出
    std::cout << *iter;
    //打印结果:0

6、min_element(ForwardIterator first, ForwardIterator last, Compare comp):重载版本。

自己实现comp,向算法定制操作。

7、max_element(ForwardIterator first, ForwardIterator last):返回序列中最大值的迭代器。

    std::vector<int> c = {1, 5, 0, 8, 11, 4};
    //找出c中最小的元素
    auto iter = std::max_element(c.begin(), c.end());
    //输出
    std::cout << *iter;
    //打印结果:11

8、max_element(ForwardIterator first, ForwardIterator last, Compare comp):重载版本。

自己实现comp,向算法定制操作。

9、max(initializer_list<T> il, Compare comp):C11版本。

    std::initializer_list<int> ilist = { 1, 3, 0, 9, 6, 4, 2 };
    int max = std::max(ilist);
    std::cout << max;
    //打印结果:9

10、minmax(const T& a, const T& b):C11版本,返回由最小值与最大值构成的std::pair。

    auto p = std::minmax(16, 8);
    std::cout <<"("<< p.first <<","<< p.second<<")";
    //打印结果:(8, 16)

11、minmax(const T&a, const T&b, Compare comp):重载版本。

自己实现comp,向算法定制操作。

12、minmax(initializer_list<T> il):C11版本,返回由初始化列表中最小元素与最大元素构成的std:pair。

    auto p = std::minmax({ 1, 3, 0, 9, 6, 4, 2 });

    std::cout << p.first <<","<< p.second;
    //打印结果:0,9

13、minmax(initializer_list<T> il, Compare comp):重载版本。

自己实现comp,向算法定制操作。

14、minmax_element(ForwardIterator first, ForwardIterator last):C11版本,返回由序列中最小元素与最大元素构成的std:pair。

    std::vector<int> c = {1, 3, 0, 9, 6, 4, 2};
    auto p = std::minmax_element(c.begin(), c.end());
    std::cout << *p.first<<","<<*p.second;
    //打印结果:0,9

15、minmax_element(ForwardIterator first, ForwardIterator last, Compare comp):重载版本。

自己实现comp,向算法定制操作。

原文地址:https://www.cnblogs.com/dongerlei/p/5146068.html