编写用选择排序对数据进行排序的代码并给出注释
时间: 2024-03-26 16:35:01 浏览: 44
以下是用选择排序对数据进行排序的 Python 代码,并附有注释:
```python
def selection_sort(arr):
n = len(arr) # 获取数组的长度
for i in range(n): # 遍历整个数组
min_idx = i # 初始化最小值的下标为当前循环的下标
for j in range(i+1, n): # 从当前下标的下一个位置开始遍历数组
if arr[j] < arr[min_idx]: # 如果找到比当前最小值更小的元素
min_idx = j # 更新最小值的下标
# 将当前循环下标和最小值的下标所对应的元素交换位置
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr # 返回排序后的数组
```
在选择排序中,我们每次都会找到当前未排序部分中的最小值,并将其放到已排序部分的末尾。具体来说,我们从数组的第一个元素开始遍历,将其作为当前未排序部分的最小值,然后从当前元素的下一个位置开始遍历数组,找到比当前最小值更小的元素,更新最小值的下标。一轮遍历结束后,将当前元素和最小值所在的位置交换。重复这个过程,直到所有元素都被排序。
阅读全文