1. 程式人生 > >選擇排序之簡單排序算法

選擇排序之簡單排序算法

pre blog 位置 比較大小 int 極小值 pos 簡單排序 進行

1.1簡單選擇排序

屬於選擇排序 
兩兩比較大小,找出極值(極大值或極小值)被放置在固定的位置,這個固定位置一般指的是 某一端 
結果分為升序和降序排列 

1.2降序

 n個數從左至右,索引從0開始到n-1,兩兩依次比較,記錄大值索引,此輪所有數比較完畢,將 大數和索引0數交換,如果大數就是索引1,不交換。第二輪,從1開始比較,找到最大值,將它 和索引1位置交換,如果它就在索引1位置則不交換。依次類推,每次左邊都會固定下一個大數。 

1.3升序

和降序相反

1.4區別於冒泡排序

冒泡排序,倆倆比較交換位置,
選擇排序,每次循環找出極值,在交換索引

1.5利用python實現降序排序

m_list = [1,9,8,5,6,7,4,3,2]
length = len(m_list)
for i in range(length):
#假定索引0的位置是最大值
    maxindex = i
    for j in range(i+1,length):
#在第一次遍歷極值的時候發現有比0索引還大的值,把此時的索引值賦值給maxindex
        if m_list[maxindex]<m_list[j]:
            maxindex = j
#當所有的值都是按降序排序的時候,不用進行交換,否則進行一下操作
    if i != maxindex:
        tmp 
= m_list[i] m_list[i] = m_list[maxindex] m_list[maxindex] = tmp print(m_list)

選擇排序之簡單排序算法