首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

快速排序(QuickSort) Java兑现

2012-10-08 
快速排序(QuickSort) Java实现public class QuickSort {/*** 快排序* @param data 待排序数组* @param sta

快速排序(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;    }
1 楼 gggeee111000 2011-09-30   非常好,谢谢。 2 楼 hongjn 2011-09-30   gggeee111000 写道非常好,谢谢。
谢谢!

热点排行