从键盘输入一个数组(含 10 个元素),利用选择排序法实现数组元素从小到大排序。要 求:排序过程用函数实现。
时间: 2023-11-28 17:49:27 浏览: 106
好的,以下是实现过程:
```python
def selection_sort(arr):
for i in range(len(arr)):
min_index = i
for j in range(i+1, len(arr)):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
arr = []
for i in range(10):
arr.append(int(input("请输入第{}个元素:".format(i+1))))
sorted_arr = selection_sort(arr)
print("排序后的数组为:", sorted_arr)
```
首先定义一个函数 `selection_sort`,将待排序的数组作为参数传入。在函数内部,我们使用选择排序的算法进行排序,具体实现过程如下:
- 外层循环 `i` 遍历整个数组,每次循环找到当前未排序部分中的最小值,将其与当前位置的元素交换位置。
- 内层循环 `j` 从 `i+1` 开始遍历到数组末尾,找到未排序部分中的最小值的下标 `min_index`。
- 如果 `arr[j]` 小于 `arr[min_index]`,则更新 `min_index`。
- 将 `arr[i]` 和 `arr[min_index]` 交换位置。
然后通过循环输入的方式获取用户输入的数组元素,并调用 `selection_sort` 函数对其进行排序。最后输出排序后的数组。
阅读全文