int choose_pivot(int lo, int hi){
int mid = ((hi-lo)/2)+1;
if((arr[hi]<arr[lo])^(arr[hi]<arr[mid])){
return hi;
}
else if((arr[lo]<arr[hi])^(arr[lo]<arr[mid])){
return lo;
}
else{
return mid;
}
}
該函數應該按如下方式選擇樞軸。考慮給定數組的第一個,中間和最後一個元素。 (如果數組有奇數長度,應該清楚「中間」元素是什麼;對於長度爲2k的數組,請使用第k個元素作爲「中間」元素,確定這三個元素中的哪一個是中值。它的價值。功能選擇快速排序的樞軸
有什麼不對這個功能可能不讓它做這是什麼意思呢?我錯過了函數不給期望的結果一些情況?
那麼你的問題是什麼? –
這個功能有什麼問題,它不應該做它想做的事情? – illumiNatISt
'arr [mid]
cyon