package quicksort;
public class quicksort {
public staticvoid main(String[] args) {
int[] array={34,8,3,825,97,2,57,98,36};
System.out.println("数组的长度为:"+array.length);
quicksort.qs(array, 0,array.length-1);
System.out.println("排序之后的数组为:");
showArray(array);
}
public staticvoid showArray(int[] array) {
for (inteach:array)
System.out.println(each);
}
public static void swap(int[] array,int i,int j) {
int temp=array[i];
array[i]=array[j];
array[j]=temp;
}
public static int partition(int[] array,int p,intr) {
int key=array[r];
int i=p-1;
for (int j=p;j<=r-1;j++){
if (array[j]<=key){
i=i+1;
swap(array,i, j);
}
}
swap(array, i+1, r);
return i+1;
}
public static void qs(int[]array,intp,int r){
if (p<r){
int q=partition(array,p,r);
qs(array,p, q-1);
qs(array,q+1, r);
}
}
}
输出结果为:
数组的长度为:9
排序之后的数组为:
2
3
8
34
36
57
97
98
825