C++返回数组中的最小的两个数 自带函数
时间: 2024-09-08 12:02:23 浏览: 60
C++ 中的Swap函数写法汇总
5星 · 资源好评率100%
在C++中,如果你想找到数组中的最小两个数,可以创建一个自定义函数,通过遍历整个数组并维护两个变量分别存储当前找到的最小值和第二小值。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
pair<int, int> findTwoSmallest(int arr[], int size) {
if (size < 2) {
throw invalid_argument("Array must have at least two elements.");
}
int smallest = arr[0];
int second_smallest = INT_MAX; // 初始化为整型最大值
for (int i = 1; i < size; ++i) {
if (arr[i] < smallest) {
second_smallest = smallest;
smallest = arr[i];
} else if (arr[i] < second_smallest && arr[i] != smallest) {
second_smallest = arr[i];
}
}
return make_pair(smallest, second_smallest);
}
int main() {
int array[] = {5, 3, 9, 1, 7};
int size = sizeof(array) / sizeof(array[0]);
pair<int, int> result = findTwoSmallest(array, size);
cout << "The two smallest numbers are: " << result.first << " and " << result.second << endl;
return 0;
}
```
这个函数`findTwoSmallest`接受一个整数数组和其大小作为输入,然后返回一个包含两个最小元素的pair。如果数组小于2个元素,它会抛出一个异常。
阅读全文