C++找出最大值

在C++中,找出數組或容器中的最大值可以通過循環遍歷每個元素來實現,也可以使用STL中的算法來完成。以下是幾種常見的方法:

使用循環遍歷找出最大值:

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int array[] = {1, 2, 3, 4, 5};
    int max_value = array[0];
    for (int i = 1; i < sizeof(array) / sizeof(array[0]); i++) {
        if (array[i] > max_value) {
            max_value = array[i];
        }
    }
    cout << "The maximum value is: " << max_value << endl;
    return 0;
}

使用STL max_element 算法找出最大值:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    vector<int> v = {1, 2, 3, 4, 5};
    auto max_it = max_element(v.begin(), v.end());
    if (max_it != v.end()) {
        cout << "The maximum value is: " << *max_it << endl;
    } else {
        cout << "The vector is empty." << endl;
    }
    return 0;
}

使用STL accumulate 算法和 std::greater 來找出最小值:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    vector<int> v = {1, 2, 3, 4, 5};
    auto max_value = accumulate(v.begin(), v.end(), *v.begin(), greater<int>());
    cout << "The maximum value is: " << max_value << endl;
    return 0;
}

使用 std::max 函式找出兩個數中的最大值:

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int a = 10, b = 20;
    int max_value = max(a, b);
    cout << "The maximum value is: " << max_value << endl;
    return 0;
}

以上是幾種不同的方法來找出數組或容器中的最大值。根據你的數據結構和需求,可以選擇合適的方法。