int partition(int[] a,int i,int j,int x){
int l=i,r=j;
// 検索が交差するまで繰り返します
while(l<=r){
// 軸要素以上のデータを探します
while(l<=j && a[l]=i && a[r]>=x) r--;
if(l>r) break;
int t=a[l];
a[l]=a[r];
a[r]=t;
l++; r--;
}
return l;
}
この部分でたとえば数値が{5,9,4,2,8,6}と与えられているとしたらどのような交換手順で分割していくのでしょうか?
↧