题目:调整数组顺序,使奇数位于前面,偶数位于后面。
代码示例:
#include<iostream>
using namespace std;
void OddFrontEven(int a[], int n)
{
if (a == NULL || n <= 0)
return;
int i = 0;
int j = n - 1;
while (i < j)
{
if (a[i] % 2 == 1)
{
i++;
}
else if (a[i] % 2 == 0)
{
if (a[j] % 2 == 0)
{
j--;
}
else
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
i++;
j--;
}
}
}
}
void main()
{
const int n = 5;
int a[n] = {1,4,8,9,3 };
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
//===
OddFrontEven(a, n);
//===
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
}