0
私はブック(ウィキペディアのもののように見える)から擬似コードを使用してクイックソートを実装しようとしましたが、それを動作させることができません。クイックソートがうまく機能しない
このソースコード:
pとrはbegginingと配列、通話機能の終了です
int partitionare(int a[], int n, int p, int r)
{
int x, i, j, aux;
x = a[r]; // pivot
i = p - 1;
for (j = p; j < r; j++)
{
if (a[j] <= x)
{
i++;
aux = a[j];
a[j] = a[i];
a[i] = aux;
}
}
aux = a[i + 1];
a[i + 1] = a[r];
a[r] = aux;
return i + 1;
}
void quicksort(int a[], int n, int p, int r)
{
if (p < r)
{
int q = partitionare(a, n, p, r);
partitionare(a, n, p, q - 1);
partitionare(a, n, q + 1, r);
}
}
:
quicksort(a, n, 0, n-1);
は、第2の気にしないでください。引数、n。これは単にテスト目的のためです。
(機能
partition()
にない)再帰関数quicksort()
内部Wikipedia article最後のコールに自分自身にしているAccoding?あなたのテスト入力にはどのような結果が見られますか? –アップス、申し訳ありませんが、私は言及するのを忘れました。 入力:2、8、7、1、3、5、6、4 出力:2,1,3,4,7,5,6,8 – Altair2033