题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
C++ Code
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
void
reOrderArray(vector<
int
> &array) { if (array.size() <= 1 ) return ; vector< int > left; vector< int > right; int n = array.size(); for ( int i = 0 ; i < n; i++) { if (array[i] % 2 != 0 ) left.push_back(array[i]); else right.push_back(array[i]); } array.clear(); for ( int i = 0 ; i < left.size(); i++) array.push_back(left[i]); for ( int i = 0 ; i < right.size(); i++) array.push_back(right[i]); } |