多くの例(Javaで)およそクイックソートがこれに近いものと等しい:クイックソート - 理由は小切手ウェブ上
private void quicksort(int low, int high) {
int i = low, j = high;
int pivot = numbers[low + (high-low)/2];
while (i <= j) {
while (numbers[i] < pivot) {
i++;
}
while (numbers[j] > pivot) {
j--;
}
if (i <= j) {
exchange(i, j);
i++;
j--;
}
}
if (low < j)
quicksort(low, j);
if (i < high)
quicksort(i, high);
}
たものがあり、なぜ私はおよそ困惑してる事はあるがチェックに等しい:
1)while (i <= j)
代わりにwhile (i < j)
2)if (i <= j)
代わりにif (i < j)
これが重要なエッジケースはありますか?私がif(i == j)
を持っているかどうか私の理解から、私たちは基本的に同じ値を同じ値に交換します。
誰でも私のためにそのパズルを解くことができますか?
このようなコードを持つオンラインソースのリンクを投稿できますか?私はあなたが要素そのものと交換するのは無意味だとあなたは正しいと思う。 – shole
上のスニペットは実際にvogellaのブログから来ている。 – Lucas