【Python 3 選擇排序】

  • 2019 年 10 月 4 日
  • 筆記

演算法講解

選擇排序(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)

程式碼運行結果如下: