'''
首先在未排序序列中找到最小(大)元素,
存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,
然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
'''
def selection_sort(lst):
n = len(lst)
for i in range(n-1):
for j in range(i+1,n):
# 未排序序列,i不断增加,为第一个未排序序列元素
min_index = i #先令 i 为 min_index
if lst[j] < lst[min_index]:
min_index = j #如果min_index大于j 则交换位置
if min_index != i: #min_index发生了变化,不是 i
lst[i],lst[min_index] = lst[min_index],lst[i]
lst = [54,226,93,17,77,31,44,55,20]
selection_sort(lst)
print(lst)
2020-05-07