C語言傳統陣列,找出其最大值
#include <cassert>
int max(int list[], int count)
{
assert(count > 0);
int ret = list[0];
for (int i = 1; i < count; ++i) {
if (list[i] > ret) {
ret = list[i];
}
}
return ret;
}
但在C++中,常常建議大家使用STL的容器,例如這裡使用std::vector
#include <cassert>
#include <vector>
// Call by reference
int max(std::vector<int>& list)
{
assert(!list.empty());
int ret = list.front();
for (auto i : list) {
if (i > ret) {
ret = i;
}
}
return ret;
}
也可以使用algorithm標頭檔中的std::max_element
#include <algorithm>
#include <vector>
int max(std::vector<int>& list)
{
return *std::max_element(list.begin(), list.end());
}