選擇排序之簡單排序算法
阿新 • • 發佈:2018-04-02
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)
選擇排序之簡單排序算法