算法講解
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工做原理以下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,而後,再從剩餘未排序元素中繼續尋找最小(大)元素,而後放到已排序序列的末尾。以此類推,直到全部元素均排序完畢。算法
算法代碼實現
Python 3 代碼實現以下,隨機生成20個數,保存到列表變量list1中,經過選擇排序法進行排序,而後輸出排序結果:
數組
from random import randrangeimport datetime
def Sele_sort(): list1 = [] while len(list1) < 20: # 範圍內隨機取20個數值 list1.append(randrange(0, 1000, 3))
print('排序前數組:',list1,'\n') # 經過兩個for循環實現選擇排序算法 for i in range(len(list1)): min_idx = i for j in range(i+1, len(list1)): if list1[min_idx] > list1[j]: min_idx = j list1[i], list1[min_idx] = list1[min_idx], list1[i] print('選擇排序結果:') # 輸出排序後的結果 for j in range(1,len(list1)): print(list1[j])
start = datetime.datetime.now()#調用排序函數Sele_sort()end = datetime.datetime.now()print ('選擇排序運行所用時間:',end-start)
代碼運行結果以下:app