void quicksort(vector<int> arr,int left,int right)
{
if(right<left){
return;
}
int low=left;
int high=right;
int base=arr[low]; //以最左边的第一个为基准数
//采用双指针方法
while(low<left){
while(high){
if(high<=low) break;
if(arr[high]>base){ //右边的数大于基准数,指针就减减
high--;
}else{
arr[low]=arr[high]; //与low交换位置
break;
}
}
while(low){
if(high<=low) break;
if(arr[low]<base){
low--;
}else{
arr[high]=arr[low];
break;
}
}
}
if(low==high){
arr[low]=base;
}
quicksort(arr,left,low-1);
quicksort(arr,low+1,right);
}