| 
 
| 复制代码public class Demo135{
        public static void main(String []args){
                int arr[]={-1,-5,6,2,0,9,-3,-8,12,7};
                QuickSort qs=new QuickSort();
                qs.sort(0, arr.length-1, arr);
                //输出最后结果
                for(int i=0;i<arr.length;i++){
                        System.out.print(arr[i]+"\t");
                }
        }
}
class QuickSort{
        public void sort(int left,int right,int [] arr){
                int l=left;
                int r=right;
                int pivot=arr[(left+right)/2];//找中间值
                int temp=0;
                while(l<r){
                        while(arr[l]<pivot) l++;
                        while(arr[r]>pivot) r--;
                        if(l>=r) break;
                        temp=arr[l];
                        arr[l]=arr[r];
                        arr[r]=temp;
                        if(arr[l]==pivot) --r;
                        if(arr[r]==pivot) ++l;
                }
                if(l==r){
                        l++;
                        r--;
                }
                if(left<r) sort(left,r,arr);
                if(right>l) sort(l,right,arr);
        }
}
 
 | 
 |