調整數組使奇數全部都位於偶數前面。

題目:

輸入一個整數數組,實現一個函數,來調整該數組中數字的順序使得數組中所有的奇數位於數組的前半部分,所有偶數位於數組的後半部分。

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--;
}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章