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

评论关闭