zoukankan      html  css  js  c++  java
  • 排序算法——快速排序

    • 排序逻辑

      确认一个基准数,把比基准数大的放在右边,小的放在左边,递归下去实现排序

      • 初始队列

      • 第一轮

      • 第二轮

    • 代码示例

      public static void quickSort(int[] arr,int start, int end){
          if(start<end){
              //以第一位为基准数
              int stard = arr[start];
              //低位游标和高位游标
              int low = start;
              int high = end;
              while(low<high){
                  //从高位往低位找,如果该数小于基准数,则把该数放在低位
                  while(low<high && stard<=arr[high]){
                      high--;
                  }
                  arr[low] = arr[high];
                  //从低位往高位找,如果该数大于基准数,则把该数放在高位
                  while(low<high && stard>=arr[low]){
                      low++;
                  }
                  arr[high] = arr[low];
              }
              arr[low] = stard;
              quickSort(arr,start,low);
              quickSort(arr,low+1,end);
          }
      }
      
    • 时间复杂度
      O(nlogn)

  • 相关阅读:
    Js变量类型
    前端面试题HTML
    AP聚类
    锚点
    html
    Active Learning主动学习
    z-index
    position
    学习笔记_卷积神经网络
    学习笔记_深度学习的数学基础
  • 原文地址:https://www.cnblogs.com/angle-yan/p/13355949.html
Copyright © 2011-2022 走看看