public class Main { public static void main(String[] args) { int[] b = new int[]{9,1,5,8,10,3,7,4,32,56,6,2,0}; Main m = new Main(); m.QuickSort(b, 0, b.length-1); for( int i=0; i<b.length;i++){ System.out.print(b[i]+" "); } } public void QuickSort(int[] a,int low,int high){ int pivot; if(low < high){ pivot = Partition(a, low, high); QuickSort(a, low, pivot-1); QuickSort(a, pivot+1, high); } } public int Partition(int[] a,int low,int high){ int pivot; pivot = a[low]; while(low < high){ while(low<high && a[high] >=pivot){ high--; } swap(a, low, high); while(low<high && a[low] <= pivot){ low++; } swap(a, low, high); } return low; // 返回pivot所在的位置 } private void swap(int[] a, int low, int high) { int temp; temp = a[low]; a[low] = a[high]; a[high] = temp; } }