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

来源:互联网 发布:c语言随机整数 编辑:程序博客网 时间:2024/06/08 03:26

一、问题描述

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

二、算法分析

给定一个数组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<array.length; i++){  for(int j=0; j<array.length-i-1; j++){  if(array[j]%2==0 && array[j+1]%2==1){  temp = array[j];  array[j] = array[j+1];  array[j+1] = temp;  }  }  }   }


0 0
原创粉丝点击