package 数组;
public class Quicksort {
static void quickSort(int[] a, int left, int right) {
if(left<right)
{
int zhunze = right;
int temp = a[zhunze];
int p = left;
int q = right;
while (p<q) {
while (a[p] <= temp && p < q) {
p++;
}
a[q] = a[p];
while (a[q] >= temp && q > p) {
q--;
}
a[p] = a[q];
}
int mid=p;
a[p] = temp;
quickSort(a, left, mid-1);
quickSort(a, mid+1, right);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={12,32,45,564,3423,1,12,2,1,4};
quickSort(a,0,a.length-1);
for(int i=0;i<a.length;i++){
System.out.print(" "+a[i]);
}
}
}
哪位帮我讲讲java中的快速排序法
此时再执行第三步的时候就发现I=J,从而结束一躺快速排序,那么经过一躺快速排序之后的结果是:27 38 13 49 76 97 65,即所以大于49的数全部在49的后面,所以小于49的数全部在49的前面。快速排序就是递归调用此过程——在以49为中点分割这个数据序列,分别对前面一部分和后面一部...
哪位大哥大姐帮小弟注释一下java快速排序呀,完全不理解
\/\/快速排序的核心思想就是把数分成两个部分,其中一部分的每个数都比另外一部分要大。
Java程序快速排序是怎样的,举个例子说明一下
public class QuickSort { private static void QuickSort(int[] array,int start,int end) { if(start<end) { int key=array[start];\/\/初始化保存基元 int i=start,j;\/\/初始化i,j for(j=start+1;j<=end;j++) if(...