2020.5.29日 算法排序

发布于 2020-05-29  58 次阅读


Table of Contents

  • 第三步,循环上个操作,直到最后一个元素
  • 快速排序

    • 第一步,找到数组第一个元素作为基准值,
    • 第二步,递归操作需要终止值,
    • 第三步,函数递归传递的值
    • 第四步,从数组最后开始和基准值比较,如果小于基准,则和数组左边替换
    • 第五步,从数组最头开始和进准直比较,如果大于基准,则和数组右边替换
    • 第六步,将左边和右边的值都递运算
      • 代码
        •     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)

  • 5.知识内容个人梳理

    6.今天都复习了之前的什么内容