我需要对由指针数组指向的数组进行排序 使用此功能(我只需要指针,没有这些[])
void getSort(int** p2a, int arrSizes[]) //p2a is a array of pointers to diffrent arrays
我尝试了冒泡排序:
if (i < 5)
{
for (j = 1; j < arrSizes[i]; j++) // I started with 1 bcz i dont want to sort the first value
{
for (k = j + 1; k < arrSizes[i]; k++)
{
if (*(*(p2a + i) + j) > *(*(p2a + i) + k))
{
temp = *(*(p2a + i) + j);
*(*(p2a + i) + j) = *(*(p2a + i) + k);
*(*(p2a + i) + k) = temp;
}
}
i++;
}
}
但它排序不好...... 例子:
答案 0 :(得分:0)
更改if for for解决问题
for (i = 0; i < NUM; i++)
{
for (j = 1; j < arrSizes[i]; j++)
{
for (k = j + 1; k < arrSizes[i]; k++)
{
if (*(*(p2a + i) + j) > *(*(p2a + i) + k))
{
temp = *(*(p2a + i) + j);
*(*(p2a + i) + j) = *(*(p2a + i) + k);
*(*(p2a + i) + k) = temp;
}
}
}
}