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

  • 相关阅读:
    <C> 链表 双向链表 栈 队列
    <C> 结构体
    <C> getchar()函数 如何把getchar()到的字符串存起来的实际应用
    DataSet转换为泛型集合和DataRow 转成 模型类
    对DataSet,DataRow,DateTable转换成相应的模型
    Json对象与Json字符串互转(4种转换方式)
    Android开发 使用HBuilder的缓存方法
    MIT_AI公开课p1p2学习笔记
    LeetCode_02 两数相加【链表】
    leetcode_01两数之和
  • 原文地址:https://www.cnblogs.com/dongerlei/p/5146068.html
Copyright © 2011-2022 走看看