public class 快速排序 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] A = {1,2,3,5,9,7,8,6};
QUICKSORT(A,0,A.length-1);
for (int i:A){
System.out.println(i);
}
}
public static int PARTITION(int []A,int p,int r){
int x = A[r];
int i = p-1;
int ex;
for(int j = p; j<=r-1;j++){
if(A[j] <= x){
i = i+1;
ex = A[i];
A[i] = A[j];
A[j] = ex;
}
}
ex = A[i + 1];
A[i + 1] = A[r];
A[r] = ex;
return i+1;
}
public static void QUICKSORT(int [] A,int p,int r){
int q;
if(p < r){
q = PARTITION(A,p,r);
QUICKSORT(A,p,q-1);
QUICKSORT(A,q+1,r);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] A = {1,2,3,5,9,7,8,6};
QUICKSORT(A,0,A.length-1);
for (int i:A){
System.out.println(i);
}
}
public static int PARTITION(int []A,int p,int r){
int x = A[r];
int i = p-1;
int ex;
for(int j = p; j<=r-1;j++){
if(A[j] <= x){
i = i+1;
ex = A[i];
A[i] = A[j];
A[j] = ex;
}
}
ex = A[i + 1];
A[i + 1] = A[r];
A[r] = ex;
return i+1;
}
public static void QUICKSORT(int [] A,int p,int r){
int q;
if(p < r){
q = PARTITION(A,p,r);
QUICKSORT(A,p,q-1);
QUICKSORT(A,q+1,r);
}
}
}