選擇排序是一種靈巧的算法,但是它的速度不是很快。
# encoding: utf-8
#定義函數用于找出數組中的最小元素
def findSmallest(arr):
#用smallest存儲最小的值
smallest=arr[0]
#用smallest_index存儲最小元素的索引
smallest_index=0
for i in range(1,len(arr)):
if arr[i]<smallest:
smallest=arr[i]
smallest_index=i
return smallest_index
#定義函數用于編寫選擇排序算法
def selectionSort(arr):
newArr=[]
for i in range(len(arr)):
smallest=findSmallest(arr)
newArr.append(arr.pop(smallest))
return newArr
if __name__ == "__main__":
my_list=[5,3,6,2,10]
result=selectionSort(my_list)
print(result)
#運行結果
[2, 3, 5, 6, 10]