实现函数来调整数组中数字的顺序,奇数位于数组前半部分,偶数位于数组的后半部分,保证奇偶相对位置不变。
调整数组顺序使奇数位于偶数前面
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++; } } }