class Sort:
def __init__(self,data):
self.data=data
#展示数据排序顺序
def show_original_sort(self):
print('数据的顺序为:')
for i in range(len(self.data)):
print('%3d'%self.data[i],end='')
#选择排序
#ascending表示排序的方式(True:升序;Flase:降序)
def select_sort(self,ascending):
for i in range(len(self.data)):
for j in range(i+1,len(self.data)):
#升序排列
if ascending==True:
if data[i]>data[j]:
data[i],data[j]=data[j],data[i]
#降序排列
if ascending==False:
if data[i]<data[j]:
data[i],data[j]=data[j],data[i]
#冒泡排序
def bubble_sort(self,ascending):
for i in range(len(self.data)-1,-1,-1):
for j in range(i):
#升序排列
if ascending==True:
if data[i]>data[j]:
data[i],data[j]=data[j],data[i]
#降序排列
if ascending==False:
if data[i]<data[j]:
data[i],data[j]=data[j],data[i]
#插入排序
def insert_sort(self,ascending):
sort_length=len(self.data)
for i in range(1,sort_length):
tmp=data[i]
no=i-1
if ascending==True:
while no>=0 and tmp<data[no]:
data[no+1]=data[no]
no-=1
data[no+1]=tmp
if ascending==False:
while no>=0 and tmp>data[no]:
data[no+1]=data[no]
no-=1
data[no+1]=tmp