一、题目
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
注意:使用当前数组实现,不能重新开辟一个同等长度的数组实现。
思路:要想实现相对顺序不变,就需要记录一下,已经排好序的奇数的位置以及又发现的奇数的位置。将已经排好序的奇数与发现的奇数之间的数据向后一定一个位置,给发现的奇数空出一个位置。
二、算法实现
class Demo{
public static void main(String[] args){
int[] arr={4,2,1,5,7,6,9,3};
reOrderArray(arr);
print(arr);
}
// 打印数组
public static void print(int[] arr){