Python3簡單實現選擇排序

2021-09-24 11:23:55 字數 1157 閱讀 1492

# -*- 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實現希爾排序

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