import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 将给定数组排序
* @param arr int整型一维数组 待排序的数组
* @return int整型一维数组
*/
public int[] MySort (int[] arr) {
// write code here
quickSort(arr, 0, arr.length - 1);
return arr;
}
public void quickSort(int []arr, int left, int right){
if(left >= right){
return;
}
int index = partition(arr, left, right);
quickSort(arr, left, index - 1);
quickSort(arr, index + 1, right);
}
public int partition(int[] arr, int left, int right){
int pivot = arr[left];
int l = left, r = right;
while(l < r){
while(l < r && arr[r] >= pivot){
r--;
}
while(l < r && arr[l] <= pivot){
l++;
}
if(l < r){
int tmp = arr[l];
arr[l] = arr[r];
arr[r] = tmp;
}
}
// l == r
arr[left] = arr[l];
arr[l] = pivot;
return l;
}
}