您的位置:首页 > 其它

写正确函数需要注意的地方:奇偶数分开,左边偶数,右边奇数。

2014-03-04 12:11 288 查看
void oddEvenSort(int* arr,int count)
{
int left=0;
int right=count-1;
int midval=arr[left];
while(left<=right)
{
while(left<=right && arr[right]%2==1)
--right;
if(left<=right)
{
arr[left]=arr[right];
++left;
}
while(left<=right && arr[left]%2==0)
++left;
if(left<=right)
{
arr[right]=arr[left];
--right;
}
}
arr[left]=midval;
}

int _tmain(int argc, _TCHAR* argv[])
{
srand(time(0));

int size=rand()%20;
int* arr=new int[size];

generate_n(arr,size,genInt);
copy(arr,arr+size,ostream_iterator<int>(cout," "));
cout<<endl;

oddEvenSort(arr,size);

copy(arr,arr+size,ostream_iterator<int>(cout," "));
cout<<endl;

getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐