C++最大值

在C++中,可以使用多種方法來找到一個數組的最大值。以下是一些常見的方法:

  1. 使用循環遍歷數組並找到最大值:
    
    #include <iostream>
    #include <vector>
    using namespace std;

int main() { int arr[] = {1, 3, 5, 7, 9}; int n = sizeof(arr) / sizeof(arr[0]); int max = arr[0];

for (int i = 1; i < n; i++) {
    if (arr[i] > max) {
        max = arr[i];
    }
}

cout << "The maximum value in the array is: " << max << endl;
return 0;

}


2. 使用STL算法max_element():
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    vector<int> arr = {1, 3, 5, 7, 9};
    int max = *max_element(arr.begin(), arr.end());

    cout << "The maximum value in the vector is: " << max << endl;
    return 0;
}
  1. 使用STL算法min_max_element():
    
    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;

int main() { vector arr = {1, 3, 5, 7, 9}; pair<int, int> max_min = minmax_element(arr.begin(), arr.end())[1];

cout << "The maximum value in the vector is: " << max_min.first << endl;
return 0;

}


4. 使用STL算法reduce():
```cpp
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;

int main() {
    vector<int> arr = {1, 3, 5, 7, 9};
    int max = accumulate(arr.begin(), arr.end(), 0, [](int a, int b) { return a > b ? a : b; });

    cout << "The maximum value in the vector is: " << max << endl;
    return 0;
}

以上代碼中,max_element()函式可以找到數組中最大的元素,min_max_element()函式可以同時找到最大和最小的元素,reduce()函式可以使用 folds 操作來找到最大值。

注意,如果你的數組是動態分配的,比如使用vector,那麼你應該使用vector::size()來獲取數組的大小,而不是使用硬編碼的sizeof(arr) / sizeof(arr[0])