package sort;java
import java.util.Arrays;數組
public class QuickSort {
public static void main(String[] args) {
int a[] = {11,2,1,5,7,10,9,8,4,0,6};
int l=0; int h=a.length-1;
System.out.println(Arrays.toString(a));
quickSort(a,l,h);
}
public static void quickSort(int[] a,int l,int h) {
if(l>h) {
return;
}
int key = a[l];
int temp = 0;
int i=l;
int j=h;
while(i<j) {
//從右往左會找到一個比基數小的數字
while(i<j&&a[j]>=key) {
j--;
}
if(i<j)//將以前比基數小的數字前移替換掉,這是在數組右邊就會留下一個坑
a[i]=a[j];
System.out.println(i);
System.out.println(j);
System.out.println(Arrays.toString(a));
//從左往右,找到比基數大的數字
while(i<j&&a[i]<=key) {
i++;
}
if(i<j)//將新找出來的數字填上剛剛數組右邊留下的坑
a[j]=a[i];
System.out.println(i);
System.out.println(j);
System.out.println(Arrays.toString(a));
}
a[i]=key;
quickSort(a,l,i-1);
quickSort(a,i+1,h);
}
}ui