java给定两个整型数组, 把所有的偶数放到数组前面, 把所有奇数放到数组后面.然后交换数组的内容。
时间: 2024-10-11 14:15:54 浏览: 26
数组重排序(如何将所有奇数都放在所有偶数前面)的深入分析
在Java中,你可以使用双指针技巧以及两层循环来实现这个功能。首先创建两个临时数组,一个用于存放偶数,另一个用于存放奇数。遍历原数组,当遇到偶数就放入偶数数组,遇到奇数则放入奇数数组。遍历完成后,将两个数组的内容复制回原数组即可完成任务。以下是简单的示例代码:
```java
public void swapEvenAndOdd(int[] nums) {
int[] even = new int[nums.length];
int[] odd = new int[nums.length];
int evenIndex = 0, oddIndex = 0;
for (int num : nums) {
if (num % 2 == 0) { // 如果是偶数
even[evenIndex++] = num; // 放入偶数数组并更新索引
} else { // 否则是奇数
odd[oddIndex++] = num; // 放入奇数数组并更新索引
}
}
// 将偶数和奇数数组的内容交换到原数组
for (int i = 0; i < nums.length; i++) {
if (i < evenIndex) {
nums[i] = even[i]; // 偶数部分
} else {
nums[i] = odd[i - evenIndex]; // 奇数部分
}
}
}
```
阅读全文