`
hongjn
  • 浏览: 55184 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

快速排序(QuickSort) Java实现

阅读更多
public class QuickSort {

    /**
     * 快排序
     * @param data 待排序数组
     * @param startIndex 开始排序元素的索引
     * @param endIndex 结束排序元素的索引
     */
    public static void sort(Comparable[] data, int startIndex, int endIndex) {
        if (startIndex < endIndex) {
            int middleIndex = partition(data, startIndex, endIndex);
            sort(data, startIndex, middleIndex - 1);
            sort(data, middleIndex + 1, endIndex);
        }
    }

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

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

    private static int partition(Comparable[] data, int startIndex, int endIndex) {
        Comparable pivotElement = data[endIndex];
        int i = startIndex - 1;
        for (int j = startIndex; j < endIndex; j++) {
            if (data[j].compareTo(pivotElement) < 0) {
                swap(data, ++i, j);
            }
        }
        swap(data, ++i, endIndex);
        return i;
    }

    private static void swap(Comparable[] data, int i, int j) {
        Comparable tmp = data[i];
        data[i] = data[j];
        data[j] = tmp;
    }
2
0
分享到:
评论
2 楼 hongjn 2011-09-30  
gggeee111000 写道
非常好,谢谢。

谢谢!
1 楼 gggeee111000 2011-09-30  
非常好,谢谢。

相关推荐

    快速排序QuickSort.java

    快速排序QuickSort.java

    快排序的Java实现

    快速排序算法的Java实现。下载后把Package信息稍作修改即可运行。

    QuickSort算法java实现

    快速排序算法java实现,此程序所排序数组在程序中给出,没有输入。

    简单的快速排序

    采用java语言实现的排序排序,通俗易懂。

    Java快速排序QuickSort(实例)

    下面小编就为大家带来一篇Java快速排序QuickSort(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    快速排序的java实现

    快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,...

    快速排序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 快速排序(QuickSort)原理及实现代码

    主要介绍了Java 快速排序(QuickSort)原理及实现代码,有需要的朋友可以参考一下

    java实现的shell排序快速排序归并排序堆排序

    用java实现的常用排序,都可以编译运行。 包括shellSort, quickSort, mergeSort, heapSort

    图文讲解Java中实现quickSort快速排序算法的方法

    主要介绍了Java中实现quickSort快速排序算法的方法,文章最后还介绍了一种单向扫描的实现方法,需要的朋友可以参考下

    java实现快速排序算法

    quickSort 方法实现了快速排序算法。通过选取一个基准值,将数组划分为左右两个子数组,并递归调用快速排序对子数组进行排序。在 partition 方法中,我们选择最右边的元素作为基准值,然后使用双指针进行比较和交换...

    Quicksort-Java:就地快速排序功能

    一个小型 Java 项目,用于实现 Quicksort 的就地版本。 要使用代码,您需要使用快速排序功能。 该函数采用三个参数,一个 T 类项的 List,一个最左边元素索引的 int(通常为 0),以及最右边元素的索引(通常为数组...

    QuickSort:QuickSort的实现

    快速排序 QuickSort的实现

    quicksort快速排序

    该资源是一个快速排序的算法,很实用。开发语言是java,希望对大家有帮助。

    java八大经典排序算法

    java写的八大经典排序算法(win7 jdk 1.6 下运行) 冒泡排序 BubbleSort 堆排序 HeapSort ...快速排序 QuickSort 归并排序 MergeSort 基数排序 BucketSort 简单选择排序 SelectSort 希尔排序 ShellSort

    quickSort.java

    用java实现了快速排序算法

    快速排序算法

    用Eclipse开发工具写的java,快速排序算法,被排序的数组是写死的,不过使用者可以更改被排序的数组

    JAVA快速排序课程设计

    本课程设计设计了一个快速排序的算法,该程序具有简单的排序功能。本程序采用了IntelliJ IDEA作为软件开发环境,采用了QuickSort核心算法来实现了对一些整数类型或字符类型的排序功能,操作简单,界面清晰,易于为...

    用Java编写的求快速排序和合并排序算法

    Java QuickSort and MergeSort 想要得快来拿吧!

Global site tag (gtag.js) - Google Analytics