📜  c++ 如何获取最大值 - C++ (1)

📅  最后修改于: 2023-12-03 15:29:52.579000             🧑  作者: Mango

如何获取最大值

在C++中,可以通过以下几种方法获取一组数据的最大值。

方法一:使用algorithm库
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    std::vector<int> v{1, 2, 3, 4, 5};
    auto max_v = std::max_element(v.begin(), v.end());
    std::cout << "max value is: " << *max_v << std::endl;
    return 0;
}

这里使用了STL的std::max_element函数,它返回指到最大元素的迭代器。

方法二:使用循环
#include <iostream>
#include <vector>

int main() {
    std::vector<int> v{1, 2, 3, 4, 5};
    int max_v = v[0];
    for (auto i : v) {
        if (i > max_v) {
            max_v = i;
        }
    }
    std::cout << "max value is: " << max_v << std::endl;
    return 0;
}

这种方法即是遍历整个数组,逐个比较大小。

方法三:使用递归
#include <iostream>
#include <vector>

int max_v(std::vector<int> v, int index, int max) {
    if (index == v.size()) {
        return max;
    }
    if (v[index] > max) {
        max = v[index];
    }
    return max_v(v, index + 1, max);
}

int main() {
    std::vector<int> v{1, 2, 3, 4, 5};
    int max = max_v(v, 0, 0);
    std::cout << "max value is: " << max << std::endl;
    return 0;
}

这里使用了递归来遍历整个数组,每次比较大小并返回最大值。

总结起来,使用algorithm库的方法最为方便和简洁,但是需要了解STL的使用,而循环和递归方法则较易理解。