def select_sort(alist):
"""选择排序"""
n = len(alist)
for j in range(n - 1): # 0, 1, 2, ..., n-2
# 找到列表中最小值的位置
# 设最小值初始值, 从第0个值到第n-2
min_index = j
# 将最小值以后的元素与最小值比较, 1, 2, 3, ..., n-1
for i in range(j + 1, n): # 1, 2, 3, ..., n-1
if alist[i] < alist[min_index]:
min_index = i
# 找到了新的最小值, 和旧的最小值交换
if min_index != j:
alist[j], alist[min_index] = alist[min_index], alist[j]
if __name__ == '__main__':
alist = [45, 36, 18, 44, 66, 78, 11, 24]
select_sort(alist)
print(alist)
原文:https://www.cnblogs.com/KX-Lau/p/12504724.html