演算法學習之選擇排序演算法的python實現
阿新 • • 發佈:2018-12-06
——參考自《演算法圖解》
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]