我正在尝试在 C/C++ 中构建一个函数来对数组进行排序并将每个值替换为其“分数”或排名。它接收一个指向整数数组的双指针数组,并根据取消引用的整数值对双指针进行排序。我已经尝试了很多次让它工作,但无法让它下来。再一次,它必须根据它们指向的值对双指针进行排序。这就是我所拥有的:
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.
}
}
}
}