【发布时间】:2017-03-02 16:39:18
【问题描述】:
我一直盯着这个,我不知道我做错了什么。我正在尝试编写一个函数,将奇数重新排序到数组中偶数的前面。内部奇偶顺序并不重要,意思是[3, 1, 4, 2] 或[1, 3, 2, 4] 都可以接受。
目前,如果我初始化 int arr[5] = {3,6,4,1,12},我会得到 3,4,1,6,2 的输出 努力找出我做错了什么。
代码如下:
void SplitParity(int arr[], int arrSize)
{
int tempValueHolder;
for (int indexCounter = 0; indexCounter < arrSize; indexCounter++)
{
//Iterate through each index checking for odd
if (arr[indexCounter] % 2 == 0)
{
tempValueHolder = arr[indexCounter];
//If Odd.....shift all indexes forward and move current to the back
for (int innerCounter = indexCounter; innerCounter < arrSize; innerCounter++)
arr[innerCounter] = arr[innerCounter + 1];
arr[arrSize - 1] = tempValueHolder;
}
}
}
【问题讨论】: