題目:
輸入一個整數數組,實現一個函數,來調整該數組中數字的順序使得數組中所有的奇數位於數組的前半部分,所有偶數位於數組的後半部分。
void RorderOddEven(int arr[], int length) { if (arr == NULL || length <= 1) { return; } int left = 0; int right = length - 1; while (left < right) { while ((arr[left] & 0x1) == 1 && left<right) { left++; } while ((arr[right] & 0x1) == 0 && left < right) { right--; } if (left < right) { std::swap(arr[left], arr[right]); } left++;//有沒有都可以,思考爲什麼 right--; } }