算法学习之选择排序算法的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]