`
hongjn
  • 浏览: 56623 次
  • 性别: 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实现方法QuickSort

    快速排序的Java实现方法QuickSort,简单易懂,适合算法初学者。

    快速排序 - QuickSort - JAVA实现

    快速排序 import java.util.Arrays; public class QuickSort { public static void quickSort(int[] arr) { if (arr == null || arr.length ) { return; } quickSort(arr, 0, arr.length - 1); } ...

    快速排序JAVA实现 - QuickSort.java

    快速排序 import java.util.Arrays; public class QuickSort { public static void quickSort(int[] arr) { if (arr == null || arr.length ) { return; } quickSort(arr, 0, arr.length - 1); } ...

    快排序的Java实现

    本篇将详细讲解如何使用Java实现快速排序。 首先,理解快速排序的步骤至关重要。快速排序的主要步骤包括: 1. **选择枢轴元素(Pivot Selection)**:在待排序的数组中选取一个元素作为枢轴,通常选择第一个或最后...

    快速排序算法的java实现

    下面是一个简单的Java实现: ```java public class QuickSort { public static void quickSort(int[] arr, int low, int high) { if (low ) { // 找到基准元素的正确位置 int pivotIndex = partition(arr, low,...

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

    总的来说,快速排序和折半查找是计算机科学中不可或缺的算法,通过递归和分治策略,可以在Java中高效地实现这些算法,并结合界面设计,为用户提供直观的交互体验。在实际项目中,理解和掌握这些算法有助于优化数据...

    快速排序的java实现

    以下是一个简单的Java实现: ```java public class QuickSort { public int partition(int[] a, int i, int j) { int key = a[i]; while (i ) { while (i [j] &gt;= key) { j--; } a[i] = a[j]; while (i [i] ...

    简单的快速排序

    下面是一个简化的快速排序算法的Java实现: ```java public class QuickSort { public static void quickSort(int[] arr, int low, int high) { if (low ) { // 找到基准元素的正确位置 int pivotIndex = ...

    JAVA实现快速排序

    JAVA实现快速排序 快速排序是一种高效的排序算法,它的实现可以分为两个部分:基本思想和复杂度分析。在基本思想中,快速排序采用“分而治之”的思想,把大的拆分为小的,小的拆分为更小的,直到序列中的所有记录均...

    Java快速排序QuickSort(实例)

    以下是Java实现快速排序QuickSort的代码: ```java public class QuickSort { public static void main(String[] args) { int array[]={32, 12, 7, 78, 23, 45}; quickSort(array,0,array.length-1); System....

    用java实现快速排序

    根据给定文件的信息,本文将围绕“用Java实现快速排序”的主题进行展开,不仅解析标题与描述中的核心知识点,还会对部分代码示例进行解读,最后结合这些信息给出一个完整的快速排序算法实现。 ### 快速排序算法简介...

    QuickSort算法java实现

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

    快速排序算法java代码

    下面我们将详细地讲解快速排序算法的java代码实现。 快速排序算法的基本思想 快速排序算法的基本思想是选择一个pivot元素,将数组分成两个部分,一部分元素小于pivot,一部分元素大于pivot,然后递归地对这两个...

    快速排序java实现

    在这个Java实现中,我们将详细探讨快速排序的工作原理,代码结构,以及如何通过源码理解和运用这个工具。 快速排序的步骤如下: 1. **选择基准元素(Pivot Selection)**:首先,从数组中选择一个元素作为“基准”...

    java实现快速排序演示

    总之,这个Java实现的快速排序演示项目不仅提供了排序算法的实现,还考虑到了教育和演示的需求,通过可视化工具帮助用户更好地理解和学习快速排序的工作机制。通过深入研究这个项目,可以加深对快速排序以及分治策略...

    JAVA实现的快速排序

    ### JAVA实现的快速排序 #### 知识点详解 **一、快速排序算法介绍** 快速排序(Quick Sort)是一种非常高效的排序算法,采用分治法(Divide and Conquer)策略来把一个序列分为较小和较大的两个子序列,然后递归...

    java快速排序算法实现

    在Java中实现快速排序,我们可以定义一个名为`quickSort`的方法,该方法接受一个整型数组作为参数,以及两个整数作为边界,代表当前处理的子数组的范围。以下是快速排序的基本步骤: 1. **选择基准元素(Pivot)**...

    java实现快速排序

    下面是一个简单的Java实现: ```java public class QuickSort { public static void quickSort(int[] arr, int low, int high) { if (low ) { int pivotIndex = partition(arr, low, high); quickSort(arr, low...

    JAVA快速排序(递归实现与非递归堆栈模拟实现)

    ### JAVA快速排序(递归实现与非递归堆栈模拟实现) #### 一、递归实现的快速排序 快速排序是一种非常高效的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分的所有记录都比另一...

Global site tag (gtag.js) - Google Analytics