1. 程式人生 > >演算法學習之選擇排序演算法的python實現

演算法學習之選擇排序演算法的python實現

  ——參考自《演算法圖解》

 1 def findSmallest(arr):
 2     # 假設第一個元素最小
 3     smallest = arr[0]
 4     smallest_index = 0
 5     for i in range(1,len(arr)):
 6         if arr[i] < smallest:
 7             smallest = arr[i]
 8             smallest_index = i
 9     return smallest_index
10 
11 
12 def selectionSort(arr):
13 newArr = [] 14 for i in range(len(arr)): 15 smallest = findSmallest(arr) # 查詢新陣列中最小的 16 newArr.append((arr.pop(smallest))) # 講最小的元素取出,放到新陣列中 17 return newArr 18 19 20 # 測試一下 21 print(selectionSort([5, 3, 6, 2, 10])) # [2, 3, 5, 6, 10]