# -*- 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()