描述:
i,j分别指向起始位置和终点位置,key默认第一个
从右边开始找(最终结果是从小到大排序)找到比key小的与i交换,
从左边找,找到比key大的,与j交换
public static void sort(int[] a,int begin, int end){
if(begin>end)return;
int i=begin,j=end;
int key=a[begin];
while(begin<end){
while(begin<end && a[end]>=key){
end--;
}
a[begin]=a[end];//此时下标end=begin或指向比key小的元素========begin为基准的下标
while(begin<end && a[begin]<=key){
begin++;
}
a[end]=a[begin];//此时begin=end或begin指向比key大的元素
}
a[begin]=key;
sort(a,i,begin-1);
sort(a,begin+1,j);
}
分享到:
相关推荐
快速排序 java实现
快速排序的简单实现程序,java编制,迭代法对数据组分区,知道简单的java基础,基本就可以看懂这个小程序了
快速排序JAVA源代码,已运行成功 同时可以记录整个过程中的比较次数
快速排序 java c++ 随机算法 最高效
在“快速排序java代码.zip”这个压缩包中,可能包含了一个或多个Java源文件,这些文件实现了上述的快速排序算法,可能还包含了测试用例和相关的解释,以帮助学习者理解并应用快速排序。在学习过程中,你可以通过查看...
java 快速排序实现。可以跑的代码 java 快速排序实现。可以跑的代码 java 快速排序实现。可以跑的代码 java 快速排序实现。可以跑的代码
在Java中实现快速排序,我们通常会定义一个`quickSort()`方法,该方法接受一个整数数组作为参数。快速排序的核心在于选择一个基准元素(pivot),并重新排列数组使得所有小于基准的元素都在其前,所有大于基准的元素...
在这个Java实现中,我们将详细探讨快速排序的工作原理,代码结构,以及如何通过源码理解和运用这个工具。 快速排序的步骤如下: 1. **选择基准元素(Pivot Selection)**:首先,从数组中选择一个元素作为“基准”...
总的来说,快速排序和折半查找是计算机科学中不可或缺的算法,通过递归和分治策略,可以在Java中高效地实现这些算法,并结合界面设计,为用户提供直观的交互体验。在实际项目中,理解和掌握这些算法有助于优化数据...
public static void quicksort(int[] array,int start, int end){ if(start>=end) return; int middle=partition(array,start,end); quicksort(array,start,middle-1); quicksort(array,middle+1,end);...
在Java中实现快速排序,首先我们需要一个基准值(pivot)来划分数组。通常选择数组的第一个元素或最后一个元素作为基准。然后,我们遍历数组,将所有小于基准的元素放在基准的左边,大于基准的放在右边。这样,基准...
利用分治法思想实现快速排序,Java语言描述。
在Java中实现快速排序,我们需要定义一个方法来执行这个过程。下面是一个简化的快速排序算法的Java实现: ```java public class QuickSort { public static void quickSort(int[] arr, int low, int high) { if ...
java语言实现的快速排序源码,其中包括java语言的随机数组生成器。
### JAVA实现的快速排序 #### 知识点详解 **一、快速排序算法介绍** 快速排序(Quick Sort)是一种非常高效的排序算法,采用分治法(Divide and Conquer)策略来把一个序列分为较小和较大的两个子序列,然后递归...
根据给定文件的信息,本文将围绕“用Java实现快速排序”的主题进行展开,不仅解析标题与描述中的核心知识点,还会对部分代码示例进行解读,最后结合这些信息给出一个完整的快速排序算法实现。 ### 快速排序算法简介...
在这个"快速排序示例代码(JAVA版)"中,我们可以期待看到以下关键知识点: 1. **分治策略**:快速排序的核心在于将大问题分解为小问题来解决。在Java代码中,会有一个主函数作为入口,调用递归函数来执行排序过程。 ...
在Java中实现快速排序,通常会用到递归。下面我们将深入探讨快速排序的步骤、优点、缺点以及如何在实际代码中实现。 ### 步骤 1. **选择基准**:首先,我们需要选择一个元素作为基准。这可以是数组的第一个元素,也...