-3
ピボットを配列の最初の要素に変更しましたが、このQuicksortアルゴリズムはまだOKですか?データ配列内の変数 "l"はすべての分割ステップの最初の要素ですか?このQuicksortは正しいですか?
X =データ[L] //ピボット
おかげ
public void QuickSort(int[] data)
{
QuickSort(data, 0, data.Length - 1);
}
private void QuickSort(int[] data, int l, int r)
{
int i, j;
int x;
i = l;
j = r;
x = data[l];
while (true)
{
while (data[i] < x)
{
i++;
}
while (data[j] > x)
{
j--;
}
if (l <= j)
{
int temporary = data[i];
data[i] = data[j];
data[j] = temporary;
i++;
j--;
}
if (i > j)
{
break;
}
}
if (l < j)
{
QuickSort(data, l, j);
}
if (i < r)
{
QuickSort(data, i, r);
}
}
[codereview](http://codereview.stackexchange.com/)に適しています – DarkBee