zoukankan      html  css  js  c++  java
  • 泛型算法(二十)之最大最小值算法

    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,向算法定制操作。

  • 相关阅读:
    代码书写过程中的一些需要培养的好习惯(持续更新)
    arm linux 移植 PHP
    arm linux 支持 wifi (wpa_supplicant)
    arm linux 移植 OpenCV
    使用FFmpeg处理视频文件:视频转码、剪切、合并、播放速调整
    视频编解码 基本概念:GOP
    arm linux 移植 python3.6
    读懂反向传播算法(bp算法)
    FFmpeg命令详解
    (转)浅谈 Linux 内核无线子系统
  • 原文地址:https://www.cnblogs.com/dongerlei/p/5146068.html
Copyright © 2011-2022 走看看