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

来源:互联网 发布:猴王竞猜网站源码 编辑:程序博客网 时间:2024/05/16 15:49
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;}

原创粉丝点击