題目:
輸入一個整數(shù)數(shù)組,實現(xiàn)一個函數(shù)來調(diào)整該數(shù)組中國數(shù)字的順序,使得所有奇數(shù)位于數(shù)組的前半部分,所有偶數(shù)位于數(shù)組的后半部分。
解法:
快排partition部分的變形
void partition(int *arr, int len) {
if (arr == 0 || len <= 0) return;
int begin = 0;
int end = len - 1;
while (begin < end) {
while (arr[begin] & 0x1 == 1) ++begin;
while (arr[end] & 0x1 == 0) --end;
if (begin < end) {
int tmp = arr[begin];
arr[begin] = arr[end];
arr[end] = tmp;
}
}
}