配列をソートし、各値をその「スコア」またはランクに置き換える関数を C/C++ で作成しようとしています。これは、int の配列への double ポインター配列を受け取り、逆参照された整数の値に基づいて double ポインターをソートします。私はそれを機能させるためにかなりの回数を試みましたが、それを落とすことはできません。繰り返しになりますが、double ポインターは、それらが指す値に基づいてソートする必要があります。これは私が持っているものです:
void SortArray( int ** pArray, int ArrayLength )
{
int i, j, flag = 1; // set flag to 1 to begin initial pass
int * temp; // holding variable orig with no *
for(i = 1; (i <= ArrayLength) && flag; i++)
{
flag = 0;
for (j = 0; j < (ArrayLength -1); j++)
{
if (*pArray[j+1] > *pArray[j]) // ascending order simply changes to <
{
temp = &pArray[j]; // swap elements
pArray[j] = &pArray[j+1];
pArray[j+1] = &temp;
flag = 1; // indicates that a swap occurred.
}
}
}
}