题意整理。
- 键盘随机输入6个整数,保存到数组中。
- 求其中的最大值和最小值。
方法一(循环)
1.解题思路
- 定义变量max_val记录最大值,变量min_val记录最小值。
- 遍历整个数组,每轮循环中,记录最大值和最小值的变化。
动图展示:
2.代码实现
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[6] = { 0 };
int len = sizeof(arr) / sizeof(int);
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
//max_val记录最大值,min_val记录最小值
//0x80000000是最小的32位整数,0x7FFFFFFF是最大的32位整数
int max_val=0x80000000;
int min_val=0x7FFFFFFF;
//遍历整个数组
for (int i = 0; i < len; i++) {
min_val=min(min_val,arr[i]);
max_val=max(max_val,arr[i]);
}
cout<<min_val<<" "<<max_val<<endl;
return 0;
}
3.复杂度分析
- 时间复杂度:需要遍历整个数组,所以时间复杂度为。
- 空间复杂度:需要额外常数级别的空间,所以空间复杂度为。