我一直在盯着这个,我无法弄清楚我做错了什么。我正在尝试编写一个重新排序奇数的函数,使其位于数组前面。赔率和均等的内在顺序并不重要,这意味着[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;
}
}
}
可能的复制[按偶数和奇数排序](http://stackoverflow.com/questions/13416712/sort-by-even-and-odd-numbers) – chema989