Python3 實現選擇排序

2021-07-27 21:07:42 字數 524 閱讀 5131

選擇排序 (selection sort)原理很簡單,就是依次在未排序資料段中選擇出乙個最小的數,然後將其排列在已排序資料段末端,直到整個資料段排序完成演算法結束。

程式如下,第乙個迴圈依次縮小未排序資料段的長度,並且每次將最小值暫定為未排序中第一位索引。第二個迴圈依次將該最小值與未排序資料段作比較,選擇出其中最小值的索引,並且交換值將未排序第一位歸類到已排序序列中。

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

for i in range(len(narr)-1):

min = i #暫定最小值索引

for j in range(i+1,len(narr)): #選擇出段落中真正最小值索引

if narr[min] > narr[j]:

min = j

narr[min],narr[i] = narr[i],narr[min] #最小值放在已排序段末尾

print(narr)

Python3簡單實現選擇排序

coding utf 8 class selectionsort object resultstr 初始化selectionsort def init self,datas self.datas datas self.datas len len datas def sort self for i i...

Python3實現希爾排序

小結專案位址 希爾排序,也稱遞減增量排序演算法,是插入排序的一種更高效的改進版本。希爾排序是非穩定排序演算法。希爾排序的實質就是分組插入排序。該方法的基本思想是 先將整個待排元素序列分割成若干個子串行 由相隔某個 增量 的元素組成的 分別進行直接插入排序,然後依次縮減增量再進行排序,待整個序列中的元...

堆排序python3實現

堆排序的思想 先將無序陣列調整為大頂堆 小頂堆,然後將堆頂元素r0和最後乙個孩子節點rn交換位置,此時r0 rn 1是無序的,rn是有序的,繼續迭代,將r0 rn 1調整為大頂堆 小頂堆,然後將堆頂元素r0和rn 1交換位置,迭代到堆中只剩下乙個元素為止 def heapfiy nums,n,i l...