`
f303153041
  • 浏览: 44988 次
社区版块
存档分类
最新评论

java快速排序(注释详细)

阅读更多
时间复杂度:O(n*logn)
public static  void quickSort(int[] nums,int m,int n){
        if(m<n){
        int i = split(nums,m,n);//找到经过一次划分后KEY的位置
        quickSort(nums,m,i-1);//对KEY左边再次划分为两部分
        quickSort(nums,i+1,n);//对KEY右边再次划分
        }
    }
    public static int split(int[] nums,int m,int n){
        int right,left,key;
        left = m;
        right =n;
        key = nums[left];
        while(left < right){
            //从最右边开始扫描 如果找不到比key小的 就一直往左找
            while((left<right)&&(nums[right]>key)){
                right--;
            }
            //找到比KEY小的,跳出循环,交换高低位的值
                nums[left] = nums[right];
           
            //从左边开始扫描 如果找不到比key大的 就一直往右找
            while((left<right)&&(nums[left]<key)){
                left++;
            }
             //找到比KEY大的,跳出循环,交换高低位的值
               nums[right] = nums[left];    
        }
        nums[left] = key;//一次划分结束后把KEY复制给LEFT = RIGHT位置,左边的都比KEY小,右边的都比KEY大
        return left;
    }
分享到:
评论

相关推荐

    快速排序算法的java实现

    详细解释了快速排序的java实现.里面有代码,还有注释说明

    java 快速排序 源代码

    java实现的快速排序,有详细的注释,可以下载下来运行查看的哈

    快速排序代码

    简单实用的快速排序代码,有注释

    排序算法全集锦(java代码实现)

    冒泡排序 简单选择排序 直接插入排序 希尔排序 归并排序 快速排序等排序方法,使用java详细代码 附注释,清晰明白

    Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法

    Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法,大家可以将源码下载下来进行学习,附带着注释和解释,有不理解的可以找博主一起探讨,共同...

    java写的基于比较的各种排序算法

    分治思想的排序包括:归并排序,快速排序,堆排序。 程序把随机生成的整数进行排序,开始时用1到7选择用哪种排序(没有图形界面,算法为主),堆排序较为特殊,见注释。 有问题到博客中该篇文章下欢迎反馈交流~

    随手笔记--数据结构与算法(Java)排序

    六个基础排序算法,分别是冒泡排序,选择排序,插入排序,希尔排序,归并排序和快速排序;2.了解这六种算法的时间复杂度和稳定性; 阅读建议:建议在阅读过程中,可以尽量自己手动敲一遍,让印象更深刻,不要Ctrl+C...

    Java基于分治法实现的快速排序算法示例

    主要介绍了Java基于分治法实现的快速排序算法,结合实例形式分析了java基于分治法的快速排序相关实现技巧,代码中备有较为详细的注释说明便于理解,需要的朋友可以参考下

    JAVA排序算法收集处

    这里包含了使用java语言的几大排序算法包括:插入排序、冒泡排序、归并排序、基数排序、希尔排序、快速排序、基数排序、选择排序。 jdk版本1.8 打开方式:解压后打开eclipse直接导入项目即可查看和运行代码。方便...

    各种排序算法Demo

    各种排序算法,全Java实现。直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,选择排序,桶排序···全是Java的简易的小Demo,注释清晰。

    Java 七种排序算法实现

    这里提供了冒泡排序,插入排序,递归排序,基数排序,快速排序,选择排序,希尔排序这几种排序算法。里面有大量的注释,可以理解实现思路

    JavaSort.java

    几种常见的排序算法包括冒泡排序、选择排序、插入排序、快速排序的Java代码实现,有注释,容易理解。下载下来之后换一下包路径即可,欢迎留言评论

    八大排序java实现

    八大排序java实现源代码,有非常完整的注释,非常适合初学者。...八大排序:冒泡排序、插入排序、选择排序、归并排序、堆排序、快速排序、希尔排序和基数排序。真的是非常完整的资料。工程直接导入eclipse即可。

    java数据结构算法 冒泡 选择 鸡尾酒 插入 快速 排序算法

    自己动手写的数据结构算法,希望能帮到大家。几乎每一句都有注释

    JAVA上百实例源码以及开源项目

     Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...

    各种排序算法java实现

    包括常见的 堆排序,快速排序,归并排序,希尔排序,冒泡排序,二分法插入排序等等。。。 完整源代码,含注释。

    一个快速排序算法代码分享

    一个快速排序算法代码一个快速排序算法代码,代码内有注释,大家参考使用吧

    java代码实现的排序算法

    java代码实现的排序算法(冒泡,快速,简单选择,堆排,直接插入,希尔,归并),代码本身的注释不多,主要注释的还是当前排序算法的一些特点,比如时间复杂度,空间复杂度,一趟排序后数列的特点。适合了解算法性质...

    JAVA上百实例源码以及开源项目源代码

     Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...

    java编写的常用排序算法

    该代码只要下载便可以使用,里面有大量的注释,非常的简单易懂,是学习java和排序的很好的代码。不可多得的资料,自己编写的

Global site tag (gtag.js) - Google Analytics