快速排序的最简易实现(Java+Groovy)

原创 2016年08月31日 09:38:55

    /**
     * Java实现快速排序; 
     * 1.取int[left]为基准数,把比它大的数移到右边,比他小的移到左边 
     * 2.再对左右区重复上述步骤,直至每个区间只有一个数
     * 2016-07-10
     */
    public void quickSort(int[] n, int left, int right) {
        if (left < right) {
            int i = left, j = right, x = n[left];
            while (i < j) {
                while (i < j && n[j] >= x) {
                    j--;
                }
                if (i < j) {
                    n[i] = n[j];
                    i++;
                }
                while (i < j && n[i] <= x) {
                    i++;
                }
                if (i < j) {
                    n[j] = n[i];
                    j--;
                }
            }
            n[i] = x;
            quickSort(n, left, i - 1);
            quickSort(n, i + 1, right);
        }
    }

        //Groovy实现快速排序
        //2016-08-31

    def quickSort(list){
        if(list.size()<2) return list 
        def pivot = list[list.size().intdiv(2)]
        def left = list.findAll{it -> it < pivot}
        def right = list.findAll{it -> it > pivot}
        def middle = list.findAll{it -> it == pivot}

        return (quickSort(left) + middle + quickSort(right))
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

JAVA实现快速排序

  • 2017年05月23日 21:18
  • 69KB
  • 下载

java实现快速排序小结

  • 2013年04月03日 11:06
  • 59KB
  • 下载

java实现冒泡、选择、快速排序算法

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列...

快速排序 java实现

  • 2014年04月04日 15:48
  • 2KB
  • 下载

快速排序Java实现程序

  • 2015年05月24日 09:25
  • 762B
  • 下载

快速排序(Quick Sort) Java实现

快速排序(Quick Sort) 快速排序(Quick Sort)的基本思想是:通过一趟排序将待排记录分割成独立的两部分其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行...

java实现快速排序

  • 2014年09月23日 19:43
  • 796B
  • 下载

快速排序算法JAVA实现

  • 2010年12月13日 16:57
  • 27KB
  • 下载

Java实现数据排序(冒泡、选择、插入、快速排序)---方法持续更新中

再一次贴出代码来,一是想激励一下自学的自己,
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:快速排序的最简易实现(Java+Groovy)
举报原因:
原因补充:

(最多只允许输入30个字)