题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,
所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
HANDWRITING:
void reset (int a[], int size) {
int s = 0, e = size - 1;
while (1) {
while (a[s] % 2 == 1) ++s;
while (a[e] % 2 == 0) --e;
if (s > e) break;
a[s] ^= a[e], a[e] ^= a[s], a[s] ^= a[e];
}
}