题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路
第一种思路
定义两个list数组,然后循环给定的数组,偶数放在一个里面奇数放到一个里面,然后将偶数塞到奇数的后面,就完成了题目的要求
代码
第一种思路
import java.util.ArrayList; import java.util.List;
public class Main { public static void main(String[] args) { int[] array = new int[] { 1,2,3,4,5,6,7 }; reOrderArray(array); for(int i=0;i<array.length;i++) { System.out.print(array[i]+" "); }
} public static void reOrderArray(int [] array) { List array1 = new ArrayList(); List array2 = new ArrayList(); for(int i=0;i<array.length;i++) { if(array[i] % 2 != 0) array1.add(array[i]); else array2.add(array[i]); } array1.addAll(array2); for(int j=0;j<array1.toArray().length;j++) { array[j] = (int)array1.toArray()[j]; } } }
|