快速排序
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);
}
}