任意输入一整形数组(⻓度N),输出该数组中最大值和最小值的位置。
时间: 2024-11-25 20:18:20 浏览: 2
对于任意长度为 N 的整数数组,要找出其中的最大值和最小值的位置,你可以采用以下步骤:
1. 初始化两个变量 `max_index` 和 `min_index`,它们分别表示当前找到的最大值和最小值的位置,初始时假设第一个元素 (index = 0) 既是最大值也是最小值。
2. 遍历数组从第二个元素开始,对于每个元素 (`arr[i]`),做以下比较:
- 如果 `arr[i]` 比 `arr[max_index]` 大,更新 `max_index` 为 `i`;
- 同样,如果 `arr[i]` 比 `arr[min_index]` 小,更新 `min_index` 为 `i`。
3. 遍历结束后,`max_index` 存储的就是最大值所在位置,`min_index` 存储的就是最小值所在位置。
以下是简单的 Python 示例代码:
```python
def find_max_min_positions(arr):
if len(arr) == 0:
return None, None
max_index = min_index = 0
for i in range(1, len(arr)):
if arr[i] > arr[max_index]:
max_index = i
elif arr[i] < arr[min_index]:
min_index = i
return max_index, min_index
# 测试示例
arr = [4, 2, 9, 6, 1]
max_pos, min_pos = find_max_min_positions(arr)
print(f"最大值 {arr[max_pos]} 在位置 {max_pos}")
print(f"最小值 {arr[min_pos]} 在位置 {min_pos}")
```
阅读全文