题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
分类:数组
解法1:类似选择排序,遍历每个元素,对于奇数,
向前遍历,使其前面的偶数向后覆盖,直到遇上奇数,结束遍历,最后将奇数放入正确位置
[java]
view plain
copy
public class Solution { public void reOrderArray(int [] array) { for(int i=1;i<array.length;i++){ int temp = array[i]; if(array[i] % 2 == 1){ int j = i-1; while(j>=0 && (array[j]%2)==0){ array[j+1] = array[j]; j--; } array[j+1] = temp; } } } }