package sort2;
import utils.ArrayUtils;
/**
* @author å壮é£
* https://github.com/zfman.
* https://blog.csdn.net/lzhuangfei.
*/
public class QuickSort {
public void sort(int[] nums){
sort(nums,0,nums.length-1);
}
public void sort(int[] nums,int l,int r){
if(l>=r) return;
int j=partition(nums,l,r);
sort(nums,l,j-1);
sort(nums,j+1,r);
}
public int partition(int[] nums,int l,int r){
int i=l;
int j=r+1;
int val=nums[l];
while(true){
while(j!=l&&nums[--j]>val);
while(i!=r&&nums[++i]