剑指offer刷题之c++实现的调整数组顺序使奇数位于偶数前面

#include "myHead.h" 
/**
调整数组顺序,使得奇数全部放左边,偶数全部放右边,不考虑原来数组中的奇(偶)数之间相对顺序 
*/
int condition(int x); 
 void reOrderArray(vector &array) {
        int i = 0,j=array.size()-1,temp;
        while(i pre;		
		pre.push_back(1);
		pre.push_back(2); 
		pre.push_back(3);
		pre.push_back(4);
		pre.push_back(5);
		pre.push_back(6);
		pre.push_back(7);		
		cout<<"before: ";
		for(vector::iterator it=pre.begin();it::iterator it=pre.begin();it


拓展,在上题条件的基础上,保持原来数组的奇数之间和偶数之间的相对顺序。


#include "myHead.h" 
/**
奇数全部放左边,偶数全部放右边,但是考虑原来数组中的奇(偶)数之间相对顺序 ,让他们继续相对顺序保持不变 
*/
int condition(int x); 
 void reOrderArray(vector &array) {
        int i = 0,j=array.size()-1,temp;
       	vector a,b;
        while(i pre;		
		pre.push_back(1);
		pre.push_back(2); 
		pre.push_back(3);
		pre.push_back(4);
		pre.push_back(5);
		pre.push_back(6);
		pre.push_back(7);		
		cout<<"before: ";
		for(vector::iterator it=pre.begin();it::iterator it=pre.begin();it


你可能感兴趣的:(算法)