# -*- 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 in range(self.datas_len-1):
# i (0:4)
for j in range(self.datas_len-1-i):
# j (0:4,0:3,0:2,0:1,0:0)
# i (0 ,1 ,2 ,3 ,4 )
# j+i+1 (1:5,2:5,3:5,4:5,5:5)
print(str(i)+" "+str(j+i+1)+" "+str(self.datas[i])+" "+str(self.datas[j+i+1]))
if (self.datas[i]>self.datas[j+i+1]):
#調換self.datas第i位和第j+i+1位
self.datas[i],self.datas[j+i+1] = self.datas[j+i+1],self.datas[i]
for i in range(self.datas_len):
self.resultstr = self.resultstr+str(self.datas[i])+" "
def show(self):
print("排序結果:"+self.resultstr)
#從這裡開始
def main():
#這裡是開始的列表
data = [19,1,5,3,7,24]
#將原始資料放入bubblesort類中,__init__方法將data初始化為該類的屬性
selectionsort = selectionsort(data)
#排序selectionsort.sort()
#列印selectionsort.show()
if __name__ == '__main__':
main()
Python3 實現選擇排序
選擇排序 selection sort 原理很簡單,就是依次在未排序資料段中選擇出乙個最小的數,然後將其排列在已排序資料段末端,直到整個資料段排序完成演算法結束。程式如下,第乙個迴圈依次縮小未排序資料段的長度,並且每次將最小值暫定為未排序中第一位索引。第二個迴圈依次將該最小值與未排序資料段作比較,選...
Python3簡單實現氣泡排序
話不多說,直接上 coding utf 8 class bubblesort object resultstr def init self,datas self.datas datas self.datas len len datas def sort self for i in range sel...
Python3實現希爾排序
小結專案位址 希爾排序,也稱遞減增量排序演算法,是插入排序的一種更高效的改進版本。希爾排序是非穩定排序演算法。希爾排序的實質就是分組插入排序。該方法的基本思想是 先將整個待排元素序列分割成若干個子串行 由相隔某個 增量 的元素組成的 分別進行直接插入排序,然後依次縮減增量再進行排序,待整個序列中的元...