选择排序是比较简单的一种排序,它的主要思想是每次循环找出最小的数,把它放到未排序的子数组的首位,然后进行下一次循环。
下一次循环的时候,就多了一个排好序的数,少了一次比较。用python如下实现:
def Choose_sort(a):
N = len(a)
for i in range(0, N):
min_index = i #最小数的起始位置
for j in range(i+1, N): #每次从未排序的子数组开始循环
if a[min_index] > a[j]:
min_index = j #遇到比自己小的就把它的位置保存在min_index中
t = a[i]
a[i] = a[min_index] #把最小值保存在a[i]中,i是子数组的起始位置,循环就从i+1开始了
a[min_index] = t #把原来a[i]里面的值保存到原来最小值的位置,完成交换
return a原文地址:http://rhythmer.blog.51cto.com/4110192/1600865