close

選擇排序法(Selection sort)是從未排序的數列中選取最小(或最大)的元素,
放置到排序數列的起始位置,直到所有數列皆排序完畢。

mylist = [20, 9, 100, 0, 55, 3 ,11] 為例,

min_index 紀錄了在未排序數列中的最小值所在之索引值,

i 紀錄未排序數列之起始位置,如下圖:

selection.png

以下為Python的選擇排序法(由小到大排序)程式碼

 

第9~11行可以替換成 list[min_indx], list[i] = list[i], list[min_indx]

在Python兩數值交換可以不使用另外一個變數(像是常用的temp),

而是以 x,y = y,x 表示即可。

 

印出結果如下:

selec_001.PNG

 

 

並且也可以使用額外空間(也就是使用另一個串列來實作),

使用 sorted=[] 存放排序好的數列,Python程式碼如下

印出結果如下:

selec_002.PNG


請不吝指教 =)

arrow
arrow
    文章標籤
    sort python 資料結構
    全站熱搜

    Jialin 發表在 痞客邦 留言(0) 人氣()