当前位置:首页 > 开发 > 编程语言 > Java > 正文

快速排序(QuickSort) Java实现

发表于: 2011-09-29   作者:hongjn   来源:转载   浏览次数:
摘要: public class QuickSort { /** * 快排序 * @param data 待排序数组 * @param startIndex 开始排序元素的索引 * @param endIndex 结束排序元素的索引 */ public static void sort(Comparable[] dat
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;
    }

快速排序(QuickSort) Java实现

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
快速排序 1.大致的介绍:   快速排序(QuickSort)是一种有效的排序算法。虽然算法在最坏的情况下运
说来感到惭愧,昨天看别人的博客上面一一讲了一些算法,其实这些算法在大学都学过,不过几乎全部忘
1)基本思想:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成
快速排序 作者:Legend QQ:158067568 快排是分治法的一个应用,快排主要是通过一个设定枢轴,然后
说来感到惭愧,昨天看别人的博客上面一一讲了一些算法,其实这些算法在大学都学过,不过几乎全部忘
说来感到惭愧,昨天看别人的博客上面一一讲了一些算法,其实这些算法在大学都学过,不过几乎全部忘
快速排序详解以及java实现 快速排序作为一种高效的排序算法被广泛应用,SUN的JDK中的Arrays.sort 方
发明者:Sir Charles Antony Richard Hoare 基本思想: 先对数据进行洗牌(Shuffle the array) 以
近最研究元素排序,稍微总结一下,以后继承补充: 近最决议天每学点数据结构与算法,写客博来促督自
部分内容摘自:http://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F 快速排序步骤
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号