选择排序法(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


请不吝指教 =)

相关文章