实现函数来调整数组中数字的顺序,奇数位于数组前半部分,偶数位于数组的后半部分,保证奇偶相对位置不变。
调整数组顺序使奇数位于偶数前面
http://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593
遇到奇数,先记住此奇数n,整体往后移位。奇数n从0(j)位开始覆盖;........。(往后移的开始位置为j)
void reOrderArray(vector<int> &array) {
int size = array.size();
int i = 0, j = 0, a = 0;
int tmp = 0;
for (i=0; i<size; i++)
{
if(array[i]%2)
{
tmp = array[i];
a = i;
while(j<a)
{
array[a] = array[a-1];
a--;
}
array[j] = tmp;
j++;
}
}
}