import java.util.*; public class Solution { public int[] MySort (int[] arr) { // write code here return quickSort(arr, 0, arr.length-1); } public int[] quickSort(int[] arr, int left, int right){ if(left < right){ int point = partition(arr, left, right); quickSort(arr,left,point-1); quickSort(arr,point+1,right); } return arr; } // 快速排序,选择一个元素作为基准元素,对待排序元素进行分区,比基准大的放在右边,比基准小的放在左边 public int partition(int[] arr, int left, int right){ int base = arr[left]; while(left < right){ while(left < right && arr[right] >= base){ right--; } swap(arr, left, right); while(left < right && arr[left] <= base){ left++; } swap(arr, left, right); } return left; } public void swap(int[] arr, int left, int right){ int temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; } }