割り当てにヒープソートを実装しています。私たちは彼女がクラスで彼女の擬似コードを使って行ったのと同じ方法でそれをしなければなりません、さもなければ私たちは信用を得ません。
Max_Heapify関数で、Left()関数とRight()関数を呼び出すと、「式は完全なオブジェクト型へのポインターである必要があります」というエラーが発生します。私はpsedocodeから直接離れているので、このエラーの原因がわからないので、誰か助けてもらえますか?
void Max_Heapify(int heapArray[],int i)
{
int n = SIZE;
int largest = 0;
int l = Left[i];//<--Error here on Left
int r = Right[i];//<--Error here on Right
if(( l <= n) && (heapArray[l] > heapArray[i]))
{
largest = l;
}
else
{
largest = i;
}
if( (r <= n) && ( heapArray[r] > heapArray[largest]))
{
largest = r;
}
int temp;
if(largest != i)
{
temp = heapArray[i];
heapArray[i] = heapArray[largest];
heapArray[largest] = temp;
Max_Heapify(heapArray,largest);
}
return;
}
.................................................。 ........................................。
役立つ場合は、Left()関数とRight()関数を次に示します。
int Left(int i)
{
return (2*i);
}
int Right(int i)
{
return ((2*i)+1);
}