调整数组顺序使奇数位于偶数前面(java)

一、问题描述

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

二、算法分析

给定一个数组array

目标:调整数组中元素顺序,使得奇数在前,偶数在后,同时奇数区和偶数区元素相对于原数组顺序不变

例如,array = {1,2,3,4,5,6}

调整后,array' = {1,3,4,2,4,6}

可以采用类似于冒泡法思想求解,如果相邻两个元素是前偶后奇则交换顺序,经过多趟调整,可使整个数组为前奇后偶,又因为冒泡排序具有稳定性,因此调整后的奇数区和偶数区相对原数组顺序不变

三、代码实现

 public void reOrderArray(int [] array) {
		 /**
		  * 算法思路:
		  * 采用冒泡法思想,只要遇到前偶后奇则交换
		  */
		  int temp;
		  for(int i=0;i


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