剑指Offer之调整数组使奇数位于偶数前面(题14)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer之调整数组使奇数位于偶数前面(题14)相关的知识,希望对你有一定的参考价值。




1 /****************************************                                                                                                 
  2     > File Name:test.c
  3     > Author:xiaoxiaohui
  4     > mail:[email protected]
  5     > Created Time:2016年05月26日 星期四 19时15分12秒
  6 ****************************************/
  7 
  8 #include<stdio.h>
  9 #include<assert.h>
 10 
 11 void Adjust(int *array, int size)
 12 {
 13     assert(array);
 14     assert(size > 0);
 15 
 16     int* left = arrar;
 17     int* right = arrar[size - 1];
 18 
 19     while(right > left)
 20     {
 21         if( ((*left) & 1) == 0)    //左边为偶数
 22         {
 23             if( ((*right) & 1) == 1)  //右边为奇数
 24             {
 25                 swap(*left, *right);
 26                 left++;
 27                 right--;
 28             }
 29             else
 30             {
 31                 right--;
 32             }
 33         }
 34         else      //如果左边不为偶数,则left++
 35         {
 36             left++;
 37         }
 38     }
 39 }


本文出自 “水仙花” 博客,请务必保留此出处http://10704527.blog.51cto.com/10694527/1783645

以上是关于剑指Offer之调整数组使奇数位于偶数前面(题14)的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer十三之调整数组顺序使奇数位于偶数前面

剑指Offer面试题 九度OJ1516:调整数组顺序使奇数位于偶数前面

剑指Offer面试题 九度OJ1516:调整数组顺序使奇数位于偶数前面

剑指Offer-代码的完整性面试题21:调整数组顺序使奇数位于偶数前面

剑指offer之调整数组顺序使奇数位于偶数前面

剑指Offer面试题21. 调整数组顺序使奇数位于偶数前面