我想分离数组中的奇数和偶数。但是,它似乎并不奏效。这是我迄今为止编写函数的方法。它只适用于我输入偶数的输入。例如,如果我输入{1,2,3,4,5,6}作为输入,那么它会给出{1,5,3,6,2,4}作为输出,但是如果我给出奇数个输入,那么它会给了我一些随机的输出。代码有什么问题?如何分离数组中的奇数和偶数?
edit1:我是C++的初学者。
void segregateEvenOdd() {
for (int i = 0; i < endofarray; i++){
int temp;
if (array[i] % 2 == 0) //check if the number is odd or even
temp = array[i];
for(int j = i; j <= endofarray; j++){ //start from 1 cuz we dont want to touch the numbers that are already segregated
array[j] = array[j+1];
}
array[endofarray] = temp;
}
}
'<= endofarray'肯定是不错的。另外假设外环指数告诉你你遇到了多少个奇数。 –
你看过右边的“相关”列表吗?它看起来像[这个问题](https:// stackoverflow。com/questions/8514924 /为偶数和奇数分开数组?rq = 1)提出了类似的问题。 – user1118321
[分离奇数和偶数号码的数组(https://stackoverflow.com/questions/8514924/segregating-an-array-for-even-and-odd-numbers) – akshayk07