快速排序

public class Solution {
    public int[] MySort (int[] arr) {
        quickSort(arr,0,arr.length-1);
        return arr;
    }
    public void quickSort(int[] arr,int leftIndex,int rightIndex){
        if(leftIndex > rightIndex) return;
        int left = leftIndex;
        int right = rightIndex;
        int temp = arr[leftIndex];
        while(left < right){
            while(temp <= arr[right] && left<right) right--;
            while(temp >= arr[left] && left<right) left++;
            if(left < right){
                //a=a+b-(b=a) 交换;
                arr[left] = arr[left] + arr[right] - (arr[right] = arr[left]);
            }
        }
        arr[leftIndex] = arr[left];
        arr[left] = temp;
        quickSort(arr,leftIndex, right-1);
        quickSort(arr,right+1, rightIndex);
    }
}