選擇排序

來自維基學院

介紹[編輯 | 編輯原始碼]

基本概念:選擇排序是常見的排序算法,用以對無序數字集合,進行數值從大到小或從小到大的排序。

實現思路:假設存在一個無序數字列表A和一個空列表B。對列表A,重複進行遍歷,直到列表A為空。每一次遍歷選取其中的最大值M,將最大值M從列表A中刪除,並將相應元素追加到空列表B中。

舉例[編輯 | 編輯原始碼]

假設要對數字列表A進行從左向右,從小到大的排序,並將結果保存在列表B中。

初始狀態:

  • 第一次遍歷:
    • 第一步,選擇列表A中的最大元素,為數字7,一共一項。
    • 第二步,將值為7的元素從列表A中刪除,並向B中追加同樣數量的元素7。
  • 第二次遍歷:
    • 第一步,選擇列表A中的最大元素,為數字5,一共兩項。
    • 第二步,將值為5的元素從列表A中刪除,並向B中追加同樣數量的數字5。

······

結束狀態: