剑指offer十六:调整数组顺序使奇数位于偶数前面_#include

剑指offer十六:调整数组顺序使奇数位于偶数前面_#include_02 

 剑指offer十六:调整数组顺序使奇数位于偶数前面_ios_03

#include<iostream>
using namespace std;

void reorderOddEven(int* a, unsigned int length)
{
	if (a == NULL || length == 0)
		return;
	int* pBegin = a;
	int* pEnd = a + length - 1;

	while (pBegin < pEnd)
	{
		while (pBegin < pEnd && (*pBegin & 0x1)==1 )
			pBegin++;
		while (pBegin < pEnd && (*pEnd & 0x1) == 0)
			pEnd--;
		if (pBegin < pEnd)
		{
			int temp = *pBegin;
			*pBegin = *pEnd;
			*pEnd = temp;
		}
	}
}

int main()
{
	int a[] = { 1, 2, 3, 4, 5 };
	reorderOddEven(a, 8);
	for (int i = 0; i < 8; i++)
		cout << a[i] << '\t';
}

 剑指offer十六:调整数组顺序使奇数位于偶数前面_#include_04