算法講解
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
算法代碼實現
Python 3 代碼實現如下,隨機生成20個數,保存到列表變量list1中,通過選擇排序法進行排序,然後輸出排序結果:
from random import randrange
import 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)
代碼運行結果如下: