调整数组使得奇数元素位于偶数元素之前(相对位置不变)

时间:2021-08-24 10:48:40

调整数组,使得奇数元素位于偶数元素之前,且相对顺序不变。

解析:冒泡排序思想,比较当前元素和下一个元素,如果当前元素是偶数且下一个元素为奇数,交换这两个数。每次冒泡都会使得最后一个偶数在正确的位置。

void reOrderArray(vector<int> &nums) 
{
int size = nums.size();
for (int i = 0; i < size - 1; ++i)
{
for (int j = 0; j < size - i - 1; ++j)
{
if ((nums[j] & 1) == 0 && ((nums[j + 1] & 1) == 1))
swap(nums[j], nums[j + 1]);
}
}
}