选择排序是遍历整个表,然后做一次交换,每次遍历找到最大值,将其放到正确的位置。
类似以下的过程
def selectSort(alist):
for i in range(len(alist)-1,0,-1): #因为每次遍历一次列表之后,最后一项无许再去作比较。而每次遍历也只需要比较n-1次
maxValuePosition = 0
for location in range(1,i+1): #初始化的时候第一项就是maxValuePosition,因此从第二项开始取
if alist[location] > alist[maxValuePosition]:
maxValuePosition = locations
temp = alist[i]
alist[i] = alist[maxValuePosition] #最大的那项被丢到最后面了
alist[maxValuePosition] = temp