选择排序是将数组从开始按顺序找出相应位置上合适的元素,到达n位置时则不用再寻找该位置元素,因为这时所有元素已经就位。
上代码:
#coding=utf-8
def selectSort(array):
i = 0
#只用选n-1个数进行排序,因为选到最后第n个数是不用排序的
for x in range(0, len(array) - 1):
#最小值引索
minIndex = None
for j in range(x, len(array)):
#寻找当前所需最小值引索
if minIndex == None:
minIndex = j
continue
if array[minIndex] > array[j]:
minIndex = j
#交换值
if minIndex != x:
array[minIndex], array[x] = array[x], array[minIndex]
A = [5, 2, 4, 6, 1, 3]
selectSort(A)
print(A)
输出结果:
[1, 2, 3, 4, 5, 6]