簡單選擇排序 python

2021-08-27 11:50:58 字數 1489 閱讀 7769

'''

原理:每一趟從待排序的元素中選出最小(最大)的元素,順序放在待排序的序列中最前,直到全部元素排序完成

假設初始為:[7,3,8,5,6,1,9,4,2]

第一趟排序後:1,[7,3,8,5,6,9,4,2]

第二趟排序後:1,2,[7,3,8,5,6,9,4]

第三趟排序後:1,2,3,[7,8,5,6,9,4]

第四趟排序後:1,2,3,4,[7,8,5,6,9]

第五趟排序後:1,2,3,4,5,[7,8,6,9]

第六趟排序後:1,2,3,4,5,6,[7,8,9]

第七趟排序後:1,2,3,4,5,6,7,[8,9]

第八趟排序後:1,2,3,4,5,6,7,8,[9]

第九趟排序後:1,,2,3,4,5,6,7,8,9

結果:[1,2,3,4,5,6,7,8,9]

'''def selectsort(input_list):

for i in range(0,len(input_list) - 1):

print('第%d次排序:' %(i+1))

index = i

for j in range(i+1,len(input_list)):

if input_list[index] > input_list[j]:

index = j

input_list[i],input_list[index] = input_list[index],input_list[i]

print(input_list)

return input_list

if __name__ == '__main__':

input_list=[7,3,8,5,6,1,9,4,2]

print('原始序列:',input_list)

selectsort=selectsort(input_list)

print('排序後序列:',selectsort)

輸出結果:

原始序列: [7, 3, 8, 5, 6, 1, 9, 4, 2]

第1次排序:

[1, 3, 8, 5, 6, 7, 9, 4, 2]

第2次排序:

[1, 2, 8, 5, 6, 7, 9, 4, 3]

第3次排序:

[1, 2, 3, 5, 6, 7, 9, 4, 8]

第4次排序:

[1, 2, 3, 4, 6, 7, 9, 5, 8]

第5次排序:

[1, 2, 3, 4, 5, 7, 9, 6, 8]

第6次排序:

[1, 2, 3, 4, 5, 6, 9, 7, 8]

第7次排序:

[1, 2, 3, 4, 5, 6, 7, 9, 8]

第8次排序:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

排序後序列: [1, 2, 3, 4, 5, 6, 7, 8, 9]

Python 簡單選擇排序

這種排序就是在要選取的列表中選取最小的值,把最小的值放到序列的第一位,再進行將剩餘的值重複上述操作,直到剩餘序列為0。序列就是乙個有序的序列了。分析 現有一組序列,我們把它放入列表中 a 10,2,5,1,3,7,3 1.使用迴圈改變每一次的待排序序列從哪一位開始,從下標0開始到len a 1 2....

Python 簡單選擇排序

總結 解析版 nums list range 10 生成0 9的十個數 import random 匯入模組 random.shuffle nums 匯入shuffle隨機生成樹模組,將該列表隨機打亂 print nums 列印出隨機打亂列表後的效果 length len nums 計算長度 cou...

排序 簡單選擇排序 Python

每一輪迴圈中,找到待排序列中的最小值,將其和待排序列頭元素交換,最終達到有序 對序列 2,4,1,3,6,5 按公升序排列 2,4,1,3,6,5 1,4,2,3,6,5 1,2,4,3,6,5 1,2,3,4,6,5 1,2,3,4,6,5 1,2,3,4,5,6 class solution p...