// ReOrder2.cpp : 定义控制台应用程序的入口点。
//
//使得奇数位于数组前半部分
#include "stdafx.h"
#include<iostream>
using namespace std;
//判断一个数是否为偶数
bool isEven(int data)
{
return ((data&1)==0?true:false);
}
void reOrder(int* data,int len)
{
int* left=data;
int* right=data+len-1;
int temp=0;
while (left<right)
{
if (!isEven((*left)))//如果左边为奇数
{
left++;
continue;
}
if (isEven(*right))//如果右边卫偶数
{
right--;
continue;
}
temp=*left;
*left=*right;
*right=temp;
left++;
right--;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int data[]={2,4,7,6,5,1};
int len=sizeof(data)/sizeof(int);
reOrder(data,len);
for (int i=0;i<len;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}