C++代码: 编写一个函数,返回存储在一个vector中值的范围。也就是说,最大值和最小值的查。并用main测试该函数。
时间: 2024-10-14 22:10:49 浏览: 10
在C++中,你可以创建一个名为`findRange`的函数来找到一个`std::vector`中的最大值和最小值。这是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 需要包含算法库来使用max()和min()
// 定义函数 findRange,接受一个 vector<T> 及其大小作为参数
template<typename T>
void findRange(const std::vector<T>& values, T& minValue, T& maxValue) {
if (values.empty()) { // 如果vector为空
minValue = maxValue = T{}; // 初始化为默认值(对于数字是0)
} else {
minValue = *std::min_element(values.begin(), values.end()); // 找到最小值
maxValue = *std::max_element(values.begin(), values.end()); // 找到最大值
}
}
int main() {
std::vector<int> numbers = {5, 2, 9, 1, 7};
int min, max;
// 调用函数并传递实际数据
findRange(numbers, min, max);
std::cout << "Minimum value: " << min << ", Maximum value: " << max << std::endl;
return 0;
}
```
在这个例子中,我们首先检查向量是否为空。如果为空,则将`minValue`和`maxValue`初始化为类型的默认值。如果不为空,我们就分别使用`std::min_element`和`std::max_element`找出最小值和最大值。
在`main`函数中,我们创建了一个整数向量`numbers`,然后调用`findRange`函数并将结果存储在`min`和`max`变量中,最后打印出这两个值。
阅读全文