剑指offer的66题之第13题:调整数组顺序使奇数位于偶数前面

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
 
代码:
类似冒泡算法,前偶后奇数就交换:
 1 class Solution {
 2 public:
 3     void reOrderArray(vector<int> &array) 
 4     {
 5         for(int i=0;i<array.size();i++)
 6         {
 7             for(int j=array.size()-1;j>i;j--)
 8             {
 9                 if(array[j]%2==1&&array[j-1]%2==0)
10                     swap(array[j], array[j-1]);
11             }    
12         }
13     }
14 };

 注:for(int i=0;i<=array.size()-1;i++)就不对!!!

posted @ 2018-08-31 17:28  BreakofDawn  阅读(83)  评论(0编辑  收藏  举报