def quick(self, left, right):
# 为了递归,left和right不满足立即退出
if left >= right:
return
middle_num = self.__lists[left]
low = left
high = right
while low < high:
while low < high and self.__lists[high] >= middle_num:
high -= 1
self.__lists[low], self.__lists[high] = self.__lists[high], self.__lists[low]
while low < high and self.__lists[low] <= middle_num:
low += 1
self.__lists[high], self.__lists[low] = self.__lists[low], self.__lists[high]
# middle_num = self.__lists[low]
self.quick(left, low - 1)
self.quick(low + 1, right)