剑指Offer之调整数组使奇数位于偶数前面(题14)
发表于:2024-11-30 作者:热门IT资讯网编辑
编辑最后更新 2024年11月30日,1 /****************************************
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 #include9 #include 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 }