`

快速排序java程序

    博客分类:
  • java
阅读更多
public class QuickSort {

    public static void sort(Comparable[] data)
    {
        sort(data,0,data.length -1);
    }

    public static void sort(Comparable[] data, int low, int high)
    {
        Comparable pivot = data[low];
        int i = low;
        int j = high;
        if(low < high)
        {
            while(i < j)
            {
                while(i < j && data[j].compareTo(pivot) >0)
                {
                    j--;
                }

                if(i < j)
                {
                    data[i] = data[j];
                    i++;
                }

                while(i < j && data[i].compareTo(pivot) < 0)
                {
                    i++;
                }

                if(i < j)
                {
                    data[j] = data[i];
                    j--;
                }
            }
        }

        data[i] = pivot;      //将所选元素赋值
        
        if(low < i-1)
            sort(data,low,i-1);
        if(i+1 < high)
            sort(data,i+1,high);
        
    }

    public static void main(String[] args) {

        Integer[] c = { 4, 9, 23, 1, 45, 27, 5, 2 };
        QuickSort.sort(c);
        for (Comparable data : c)
        {
            System.out.println(data);
        }
    }
}

 

分享到:
评论

相关推荐

    java 快速排序 折半查找的界面实现 (递归与分治法)

    java 快速排序 折半查找的界面实现 (递归与分治法)

    java 快速排序程序

    java 编写的快速排序程序递归形式我做的课堂作业,,希望能帮助大家。。。

    快速排序 Java 示例

    快速排序的简单实现程序,java编制,迭代法对数据组分区,知道简单的java基础,基本就可以看懂这个小程序了

    快速排序Java实现程序

    public static void quicksort(int[] array,int start, int end){ if(start&gt;=end) return; int middle=partition(array,start,end); quicksort(array,start,middle-1); quicksort(array,middle+1,end);...

    用JAVA语言实现的对数据的快速排序法

    该程序是用JAVA语言编写的,主要实现的是对一串数据的快速排序,并统计其深度

    算法之快速排序java实现代码案例

    快速排序的 Java 实现代码例子程序,需要的可以参考

    几种常用的排序法 java程序

    自己写的几个排序方法的实现,其中快速排序需要做一些调整。希望对你有所帮助

    java负责排序的程序包

    设计一个负责排序的程序包,实现多种排序算法,至少包括插入排序、冒泡排序和快速排序算法。 要求: 1.可以对任何简单类型和任意对象进行排序 2.可以支持升序、降序、字典排序等多种顺序要求 3.可以随意增加排序算法...

    java排序小程序

    这是一个java的排序界面小程序,包括对冒泡、堆、归并(改进)、快速(改进)、插入、归并、快速、选择、Shell等排序算法的实现

    Java快速排序+简单选择排序+折半插入排序

    做了个Java Swing 图形界面,选择3中排序方法进行排序。工程用NetBeans 打开,运行Main.java文件或直接点击运行主程序,3种算法在源包中的sorts文件夹...QKSort.java(快速排序算法) SelectSort.java(简单选择排序)

    Java二分查找和快速排序的Applet程序

    将二分法查找和快速排序集合在JavaApplet中,其中快速排序给输出中间过程,适合初学者观看。有问题可以联系本人,欢迎。

    桶排序、快速排序等各种排序算法的实现

    各种排序算法的实现,桶排序,快速排序、归并排序、希尔排序等

    概率与计算课程作业 随机化快速排序和确定型快速排序的比较

    最省时间的是确定型算法,其次是随机基准快速排序算法,最后是随机化输入快速排序算法;后面两个算法较之确定型算法要费时的原因是:(1)随机选取基准花费了一些时间,(2)随机化输入是将原来数组打乱花费了一些时间。...

    java多线程排序

    java多线程排序源程序,三种排序算法。希尔排序,快速排序,堆排序。

    java语言多种排序

    设计一个负责排序的程序包,实现多种排序算法,至少包括插入排序、冒泡排序和快速排序算法。 要求: 1.可以对任何简单类型和任意对象进行排序 2.可以支持升序、降序、字典排序等多种顺序要求 3.可以随意增加排序算法...

    几种内部排序算法的Java实现

    几种内部排序算法的Java实现 各种内部排序方法的比较 直接插入排序 折半插入排序 希尔排序 起泡排序 快速排序 简单选择排序 树形选择排序 堆排序 归并排序 基数排序

    算法设计实验报告-快速排序和归并排序

    一个算法设计与分析的实验报告,比较归并排序与快速排序的时间差异,这里采用在一个java程序中对随机生成的任意个数分别进行两种方法的排序并记录各自的时间,最后得出结论。 本实验报告附代码以及详细解释

    快速排序算法

    Java 实现的快速排序算法,小程序,练手用的。

    快速排序与归并排序的算法比较实验报告

    一个算法设计与分析的实验报告,比较归并排序与快速排序的时间差异,这里采用在一个java程序中对随机生成的任意个数分别进行两种方法的排序并记录各自的时间,最后得出结论。 本实验报告附代码以及详细解释

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

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

Global site tag (gtag.js) - Google Analytics