数组中将所有奇数排到偶数前面

bool fun(int value)
 35 {
 36     return ((value & 1)==0);
 37 }
 38 
 39 void show(int arr[],int length)
 40 {
 41     int i=0;
 42     for(;i<length;++i)
 43         cout<<arr[i]<<" ";
 44     cout<<endl;
 45 }
 46 void Recoder(int arr[],int length)
 47 {
 48     if(arr==NULL || length==0)
 49         return;
 50     int *pstart=arr;
 51     int *pend=arr+length-1;
 52     while(pstart < pend)
 53     {
 54         while(pstart < pend && !fun(*pstart))
 55             pstart++;
 56         while(pstart < pend && fun(*pend))
 57             pend--;
 58         if(pstart < pend)
 59         {
 60             int tmp=*pstart;
 61             *pstart=*pend;
 62             *pend=tmp;
 63         }
 64     }
 65     show(arr,length);
 66 }
 67 int main()
 68 {
 69     int arr[]={1,2,3,4,5,6,7,8,9,10};
 70     int length=sizeof(arr)/sizeof(*arr);
 71     Recoder(arr,length);
 72     return 0;
 73 }                                                                                                                    
                               

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值