选择排序
选择排序
- 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
- 然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾。
- 依此进行,直到所有元素均排序完毕。

选择排序的实现
def selectionSort(alist):
for fillslot in range(len(alist) - 1, 0, -1):
#每次循环默认第一位置为最大值
positionOfMax = 0
#标记当前最大值的位置
for position in range(fillslot):
if alist[position] > alist[positionOfMax]:
positionOfMax = position
#将当前的最大值与当前列表末尾的元素进行交换
temp = alist[fillslot]
alist[fillslot] = alist[positionOfMax]
alist[positionOfMax] = temp
测试:
alist = [54,26,93,17,77,31,44,55,20]
selectionSort(alist)
print(alist)
参考:

浙公网安备 33010602011771号