//============================================================================ // Name : 100题之调整数组顺序使奇数位于偶数前面.cpp // Author : // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================ #include <iostream> using namespace std; void change(int *a,int length) { int begin=1; int end=length; int temp; cout<<"before change"<<endl; for(int i=begin;i<=length;i++) cout<<a[i]<<" "; cout<<endl; while(begin<=end) { int i=a[begin]&0x01; int j=a[end]&0x01; if(i==0&&j==1) { temp=a[begin]; a[begin]=a[end]; a[end]=temp; begin++; } else if(i==1&&j==0) { begin++; end--; } else if(i==0&&j==0) { end--; } else if(i==1&&j==1) { begin++; } } cout<<"after change"<<endl; for(int i=1;i<=length;i++) cout<<a[i]<<" "; cout<<endl; } int main() { int a[11]={0,1,2,4,6,8,3,5,7,9,11}; change(a,10); return 0; }