quick sort,quick,class QuickS
class QuickSort: #var=[] #类的变量,这个要有。 后来发现,这个可以没有!!! def __init__(self):#构造函数 return def q_sort(self,left,right):#排序 l=left r=right p=self.var[left] while(left<right): while(self.var[right] >= p and (left<right)): #这里用 ‘&’ 出错。。。用‘and’不出错。。不知道为什么 right = right-1 if(left != right): self.var[left] = self.var[right] left = left+1 while(self.var[left] <= p and (left<right)): #这个地方使用 and or & 都正确 left = left+1 if(left!=right): self.var[right]=self.var[left] right = right - 1 self.var[left] = p p = left left = l right = r if(left <p): self.q_sort(left,p-1) if(right>p): self.q_sort(p+1,right)#结束上面的函数定义 def quick_sort(self):# if(len(self.var) == 0):# print("input the data")# return self.q_sort(0,len(self.var)-1) return def setvar(self,v):#配置变量 self.var = v return def outvar(self):#输出值 print(self.var) returnimport randommysort = QuickSort()a=[]for i in range(10): a.append(random.randint(0,100))#a=[1,3,2,5,4,7,6,9,8,11,10,13,12,15,14,17,16,19,18,20]mysort.setvar(a)mysort.outvar()mysort.quick_sort()mysort.outvar()#该片段来自于http://byrx.net
评论关闭