剑指Offer--调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

思路:如果array[]%2 == 1 取余为1 则为奇数,array[]%2 == 0 为偶数;先将奇数push_back,在将偶数push_back;

#include
#include

using namespace std;
int main()
{
	//创建数组
	int r;//数组大小
	vectorarr;
	cout<<"Vector size:";
	cin>>r;
	int tmp;
	for(int i=0;i>tmp;
		arr.push_back(tmp);
	}
	//输出vector
	for(int i=0;iresult;
	for(int i=0;i
#include
#include

using namespace std;
int main()
{
	//创建数组
	int r;//数组大小
	vectorarr;
	cout<<"Vector size:";
	cin>>r;
	int tmp;
	for(int i=0;i>tmp;
		arr.push_back(tmp);
	}
	//输出vector
	for(int i=0;ii;j--){
			if(arr[j]%2==1 &&arr[j-1]%2==0){
				temp = arr[j];
				arr[j] = arr[j-1];
				arr[j-1] = temp;
			}
				
		}

	}
	//输出vector
	for(int i=0;i

1.直接遍历

2.考虑冒泡排序

 

 

你可能感兴趣的:(剑指offer,剑指offer笔记)