Python 选择排序
# 选择排序
def selection_sort(array: list) -> list:
"""
:param array: 待排序列表
:return:
"""
array_length = len(array) # 需要判断的索引 从0开始 左闭右开
for index in range(array_length-1): # 外层循环控制每次选取一个最小的值
small_index = index # 第一次开始 最小的索引为开始值
for compare_index in range(index + 1, array_length): # 内层循环用来比较最小值及替换最小索引
if array[small_index] > array[compare_index]: # 如果最小索引上的值大于 比较的值 重新赋值最小索引
small_index = compare_index
if small_index != index: # 如果最小索引和 控制的开始索引不相同 则将开始索引的值替换为最小索引的值
array[index], array[small_index] = array[small_index], array[index]
return array