题目没有要排序,只是让奇数在左,偶数在右。
#include <iostream>
using namespace std;
void f(int *a, int n)
{
int i=0,j=n-1;
if(n==1)
{
return;
}
while(i<j)
{
while(a[i]%2 != 0) //奇数
{
i++;
}
while(a[j]%2 == 0) //偶数
{
j--;
}
if(i != j)
{
swap(a[i],a[j]);
}
}
}
int main()
{
int n;
cin >> n;
int a[n];
for(int i=0; i<n; i++)
{
cin >> a[i];
}
f(a,n);
for(int i=0; i<n; i++)
{
cout << a[i] << " ";
}
cout << endl;
return 0;
}