哈哈哈,又遇到一道题,自己又成功编译,真开心。
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路:先找出数组的所有奇数,赋值到另一个数组中;然后重新遍历原数组,找出所有偶数,在新数组后面继续赋值,就OK啦。
代码:
void reOrderArray(vector<int> &array)
{
int len=array.size();
int num,count=0;
vector<int> newarr;
for(int i=0;i<len;i++)
{
if(array[i]%2)
{
num=array[i];
newarr.push_back(num);
//count++;
}
}
for(int i=0;i<len;i++)
{
if((array[i]%2)==0)
{
num=array[i];
newarr.push_back(num);
}
}
array=newarr;
}