#--coding: utf8 --
# 选择排序的思想:
# 每次从未排序的区域选择最小的值放入已排序的区域, 直到未排序的区域为空
def select_sort(arr):
arrlen = len(arr)
# 只需要执行n - 1次, 因为前n - 1个就绪之后,
for i in range(arrlen - 1):
# 选择第i小的对象
select_exchange(arr, i)
def select_exchange(arr, i):
k = i
arrlen = len(arr)
for j in range(i + 1, arrlen):
# 如果当前对象比我们基准对象小
# 用当前的位置代替我们的基准位置
if arr[j] < arr[k]:
k = j
if k != i:
swap(arr, k, i)
def swap(arr, index1, index2):
tmp = arr[index1]
arr[index1] = arr[index2]
arr[index2] = tmp
转载于:https://my.oschina.net/jamesxu/blog/15153