選擇排序是比較簡單的一種排序,它的主要思想是每次循環找出最小的數,把它放到未排序的子數組的首位,然後進行下一次循環。
下一次循環的時候,就多了一個排好序的數,少了一次比較。用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