public void quickSort(int[] a, int low, int high){if(a.length <=1)return;if(low >= high)return;
int left = low;
int right = high;
int key = a[left];while(left < right){//如果key右侧的数据比key大,则不需要交换while(left < right && a[right]>= key){
right--;}//右侧数据发现比key小的,直接交换swap(a, left, right);//交换后,key在右边了,判断左侧数据,比key小的不需要交换while(left < right && a[left]<= key){
left++;}//左侧数据比key大的,直接交换swap(a, left, right);}//此时,以key为分界线,将array分成了两部分
System.out.println("Sorting: "+ Arrays.toString(a));//分别对这两部分进行排序quickSort(a, low, left -1);quickSort(a, left +1, high);}private void swap(int[] arr, int i, int j){
int temp = arr[i];
arr[i]= arr[j];
arr[j]= temp;}