首页 > 其他分享 >快速排序

快速排序

时间:2022-10-22 20:02:00浏览次数:62  
标签:end int start while array 排序 快速 public

自己版:

package leetcode.mySort;

public class QuickSort {

    public static int partition(int[] array,int start,int end){
        int base = array[start];
        while (start < end){
            while (start < end && array[end]>base){
                end--;
            }
            array[start] = array[end];
            while (start <end && array[start]<base){
                start++;
            }
            array[end] = array[start];

        }
        array[end] = base;
        return start;
    }

    public static void quickSort(int[] array,int start,int end){
        if (start < end){
            int index = partition(array,start,end);
            quickSort(array,start,index-1);
            quickSort(array,index+1,end);
        }
    }


    public static void main(String[] args) {
        int[] array = {2,4,6,1,3,5};
        quickSort(array,0,array.length-1);
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }
}

优化参考:https://juejin.cn/post/7109087643660451877#comment

标签:end,int,start,while,array,排序,快速,public
From: https://www.cnblogs.com/chenyi502/p/16817153.html

相关文章

  • MySQL基础1【安装-运算符-排序分页】尚硅谷
    第00章_介绍大纲第00章_写在前面讲师:尚硅谷-宋红康(江湖人称:康师傅)官网:http://www.atguigu.comhttp://www.atguigu.com/)一、MySQL数据库基础篇大纲MySQL数据库基础篇......
  • 选择排序与冒泡排序(c语言+Java语言)
    选择排序O(n2)首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素......
  • JDBC_快速入门与JDBC各个类详解_DriverManager_注册驱动
    JDBC_快速入门步骤:1.导入驱动jar包:mysql-connector-java-5.1.37-bin.jar1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs......
  • Shell细说sort排序
    sort是在Linux里非常常用的一个命令,管排序sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。使用方法:so......
  • List.sort 排序方法使用
     在数据库中取出的List<Map<Strng,Object>>现在根据Map里面的时间字段进行排序代码:list.sort(newComparator<Map<String,Object>>(){@Overridepublicin......
  • 小孩的游戏 - 2021数据结构 排序和选择实验题
    小孩的游戏-2021数据结构排序和选择实验题pre做都做了,干脆发上来算了:D题目分析算法与数据结构实验题5.18小孩的游戏★实验任务一群小孩子在玩游戏,游戏......
  • OrCAD画的原理图,PADS Layout将元器件快速归类的方式
    由于OrCAD的易用性,有不少公司是使用OrCAD画原理图,而PCBLayout使用的是PADS,这个时候就出现交互的问题,如果器件少,我们可以在PADS中一个一个查找摆放,但是如果器件很多的......
  • python系列归并排序图文详解
    ​ 算法原理:      改归并排序将序列折半分成两个子序列,然后继续拆分,直到每个序列只有一个数据时,再将各个子序列排序后合并叠加。直到所有子序列都合并,排序完成。......
  • 快速排序
    defqsort(array):iflen(array)<=1:returnarraypivot=array.pop()leftarray=[iforiinarrayifi<pivot]rightarray=[ifori......
  • s002-认识O(NlogN)的排序
    s002-认识O(NlogN)的排序什么是Master公式?T(N)=a*T(N/b)+O(N^d)母问题的数据量是N级别,即母问题是N规模的;子问题是N/b的规模,a是子问题的个数,O(N^d)是除了子问题之外剩下......