`

java中的快速排序算法

阅读更多
这几天需要用到快速排序算法,虽然以前写过作业,但也有些遗忘,于是上网搜了一下,发现虽然很多,却或多或少都有些问题,尤其是数据越界,所以我自己调了一下,以下是经过测试的快速排序的程序,希望对大家有些帮助:
public class QSort { 
    
    /** 
     * @author WangYu 2008-05-29 
     * @param pData 需要排序的数组 
     * @param left     左边的位置,初始值为0 
     * @param right 右边的位置,初始值为数组长度 
     */ 
    public static void QuickSort(int[] pData,int left,int right) 
    {  
      int i,j; 
      int middle,temp; 
      i = left; 
      j = right; 
      middle = pData[left]; 
      while(true) 
      { 
          while((++i)<right-1 && pData[i]<middle); 
          while((--j)>left && pData[j]>middle); 
          if(i>=j) 
              break; 
          temp = pData[i]; 
          pData[i] = pData[j]; 
          pData[j] = temp; 
      } 
  
      pData[left] = pData[j]; 
      pData[j] = middle; 
      
      if(left<j)  
        QuickSort(pData,left,j); 
  
  
      if(right>i)  
        QuickSort(pData,i,right); 
    } 
  
    public static void main(String[] args){ 
        int[] pData = new int[10]; 
        for(int i = 0; i< 10; i++) 
            pData[i] = (int)(Math.random()*100); 
        
        for(int i = 0; i<pData.length; i++) 
            System.out.print(pData[i]+" "); 
        
        QSort.QuickSort(pData, 0, pData.length); 
        
        System.out.println("\n***********************"); 
        
        for(int i = 0; i<pData.length; i++) 
            System.out.print(pData[i]+" "); 
    } 
  
}
分享到:
评论

相关推荐

    Java中快速排序算法和经典案例

    算法,我可以为您详细解释Java中快速排序算法的实现,并提供一个代码示例。快速排序是一种高效的排序算法,基于分治策略。其基本步骤如下: 1. 选择一个基准元素(pivot),通常选择数组的第一个元素或者最后一个...

    Java中快速排序算法经典的代码

    当然,我可以为您详细解释Java中快速排序算法的实现,并提供一个代码示例。快速排序是一种高效的排序算法,基于分治策略。其基本步骤如下: 1. 选择一个基准元素(pivot),通常选择数组的第一个元素或者最后一个...

    Java中快速排序算法

    以下是对快速排序算法的详细步骤和关键部分的解析: 1. **选择基准元素**: 在给定的代码示例中,基准元素是数组的最后一个元素。可以选择不同的策略来确定基准,例如第一个元素、最后一个元素或“三数取中”策略...

    Java实现快速排序算法+编程知识+技术开发

    Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术...

    快速排序算法的java实现

    以下是快速排序算法的步骤: 1. **选择基准**:从数组中选取一个元素作为基准,可以选择第一个、最后一个或者随机选择。 2. **分区操作**:遍历数组,将所有小于基准的元素移到其前面,大于基准的元素移到其后面。...

    快速排序算法java代码

    "快速排序算法java代码" 快速排序算法是由Tony Hoare在1960年提出的一种排序算法,它的平均时间复杂度为O(n log n),是目前最快的排序算法之一。下面我们将详细地讲解快速排序算法的java代码实现。 快速排序算法的...

    分别使用Java和Python实现快速排序算法.zip

    快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法....

    Java 快速排序算法

    Java 快速排序,目前来说效率很高的一种排序算法,好理解。

    JAVA冒泡排序和快速排序算法

    在JAVA中,实现这两种排序算法可以使用面向对象的特性,创建一个类如`MaopaoKuaisu.java`,在这个类中定义两个方法,分别实现冒泡排序和快速排序。类的结构可能如下: ```java public class MaopaoKuaisu { public...

    java八大排序算法

    在Java编程中,了解并掌握不同的排序算法有助于优化代码性能,提高程序效率。以下是对Java八大排序算法的详细介绍: 1. **直接插入排序** - 插入排序的基本思想是通过构建有序序列,对于未排序数据,在已排序序列...

    各种排序算法比较(java实现)

    本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并结合Java语言的实现进行解析。 1. **合并排序(Merge Sort)**: 合并排序是一种基于分治策略的排序算法...

    快速排序算法JAVA实现

    在Java中,我们可以创建一个名为`Qsort`的类来实现快速排序。这个类包含两个主要方法:`sort`和`partition`。`sort`方法是快速排序的递归入口,`partition`方法则是快速排序的核心,它负责将数组分为两部分,并返回...

    快速排序算法以及归并算法

    在提供的代码片段中,`Project18_qSort` 类实现了快速排序算法。具体步骤如下: 1. **初始化**:定义一个数组 `a`,并调用 `qSort` 方法进行排序。 2. **递归调用**:在 `qSort` 方法中,首先检查 `from` 和 `to` ...

    java快速排序算法和案例

    java快速排序算法和案例

    java 8种排序算法

    在Java中,这些排序算法都可以用代码实现,可以通过`java.util.Arrays.sort()`方法使用内置的快速排序或归并排序,也可以自定义排序逻辑。在`AllSort`这个压缩包中,可能包含了这八种排序算法的Java实现代码,通过...

    详解Java常用排序算法-快速排序

    在 Java 中,快速排序算法可以使用递归函数来实现。例如,下面的代码就是一个使用快速排序算法对整数数组进行排序的示例: ```java public class Quick { public static void quickSort(int[] arr, int low, int ...

    java实现常见排序算法

    在编程领域,排序算法是计算机科学中的核心概念,特别是在数据结构和算法分析中。Java作为广泛应用的编程语言,提供了一种高效的方式来实现各种排序算法。本文将深入探讨Java中实现的两种主要排序类型:插入排序和...

    Java所有排序算法大全

    在编程领域,排序算法是计算机科学中的核心概念,特别是在Java这样的高级编程语言中。本文将深入探讨Java中常见的几种排序算法,包括它们的工作原理、优缺点以及如何在实际编程中应用。 首先,我们来看`BubbleSort...

    java实现快速排序算法

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

Global site tag (gtag.js) - Google Analytics