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);
}