クラスのクイックソート関数を実装しています。彼女がクラスで擬似コードを使って教えてくれたのと同じ方法でそれを行わなければなりません。さもないと、クレジットを取得できません。
「変数'quickArray'の周りのスタックが破損しました」というランタイムエラーが発生します
デバッガーで遊んだのですが、それでも問題が何なのかわかりません。私はそれが私のPartition()関数と関係があると思っていますが、よくわかりません。誰か助けてもらえますか?Ivは、main()、QuickSort()、およびPartition()関数を以下に投稿しました。
int main()
{
int quickArray[10] = { 5 ,99, 32, 4, 1, 12, 15 , 8, 13, 55};
int P = quickArray[0];
int R =quickArray[9];
QuickSort(quickArray,P,R);
return 0;
}
.................................................。 .........................................。
void QuickSort(int ar2[],int P, int R)
{
int Q;
if( P < R )
{
Q = Partition(ar2,P,R);
QuickSort(ar2,P,Q-1);
QuickSort(ar2,Q+1,R);
}
}
.................................................。 ........................................。
int Partition(int ar2[],int P, int R)
{
int x = ar2[R];
int i = P-1;
int temp;
for(int j = P; j <= R-1; j++)
{
if( ar2[j] < x )
{
i = i +1;
temp = ar2[i];
ar2[i] = ar2[j];
ar2[j] = temp;
}
temp = ar2[R];
ar2[R] = ar2[i+1];
ar2[i+1] = temp;
}
return (i+1);
}