编写一个函数来确定一个整数数组中最小的两个值。使用引用变量作为参数。完整代码
时间: 2023-06-14 07:04:36 浏览: 93
下面是一个 C++ 的实现:
```cpp
#include <iostream>
#include <limits>
using namespace std;
void findTwoMin(int arr[], int n, int& min1, int& min2) {
min1 = numeric_limits<int>::max();
min2 = numeric_limits<int>::max();
for (int i = 0; i < n; i++) {
if (arr[i] < min1) {
min2 = min1;
min1 = arr[i];
} else if (arr[i] < min2) {
min2 = arr[i];
}
}
}
int main() {
int arr[] = {5, 2, 8, 3, 9, 1};
int n = sizeof(arr) / sizeof(int);
int min1, min2;
findTwoMin(arr, n, min1, min2);
cout << "The minimum two values are: " << min1 << " and " << min2 << endl;
return 0;
}
```
这个函数使用了引用变量作为参数,通过修改这些变量的值,返回了数组中的最小两个值。在函数内部,我们使用两个变量 `min1` 和 `min2` 来记录最小和次小的值。我们首先将这两个变量初始化为最大整数值,然后遍历整个数组。对于每个元素,我们检查它是否小于 `min1`,如果是,则将 `min1` 更新为该元素的值,并将 `min2` 更新为原来的 `min1` 值。如果元素大于等于 `min1` 且小于 `min2`,则将 `min2` 更新为该元素的值。最终,`min1` 和 `min2` 分别保存了数组中的最小两个值。
在 `main` 函数中,我们定义了一个整数数组 `arr`,并使用 `findTwoMin` 函数找到了数组中的最小两个值。然后,我们将这两个值输出到控制台。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)