【问题标题】:inbuilt algorithm for max or min of an array数组最大值或最小值的内置算法
【发布时间】:2015-04-02 06:10:21
【问题描述】:

我试图找出 max 或 min 函数如何在 STL 中的 c++ 中工作的内置机制,以查找元素数组中的最大或最小元素。

【问题讨论】:

    标签: stl max min


    【解决方案1】:

    在 STL 中,它分别是 min_elementmax_element,它接受 Iterator 作为参数类型而不是集合本身。它不被称为minmax 以防止与CRT minmax 函数/宏的名称冲突。

    这里有详细的记录:http://www.cplusplus.com/reference/algorithm/min_element/

    请注意,Iterator 是多种类型的替代品,包括原始指针。

    例子:

    int myints[] = {3,7,2,5,6,4,9};
    std::cout << "The smallest element is " << *std::min_element( myints, myints+7 ) << '\n';
    

    【讨论】:

    • 其实它不叫minmax,因为STL已经有函数minmax,它们取两个值的最小值/最大值。如果您调用min(iterator, iterator),它将尝试找到两个迭代器中较小的那个。正如@Dai 所说,对于一个序列,使用min_elementmax_element,它们会返回一个指向所需元素的迭代器(因此在他的代码中使用*
    猜你喜欢
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多