编写一个Java程序,创建一个包含5个整数的数组,将数组中的所有奇数移动到数组的前部,偶数移动到数组的后部。
时间: 2024-09-18 13:16:00 浏览: 34
在Java中,你可以通过双指针法来实现这个功能。这里是一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
int[] array = {4, 7, 2, 9, 6, 1, 8, 3, 0}; // 假设这是你要操作的数组
// 初始化两个指针,一个指向开始位置,一个指向结束位置
int left = 0, right = array.length - 1;
while (left < right) {
// 如果左指针处的元素是偶数,向右移动
if (array[left] % 2 == 0) {
left++;
} else { // 否则是奇数,交换左右指针处的元素,并向左移动
swap(array, left, right);
left++;
}
// 如果右指针处的元素是奇数,向左移动
if (array[right] % 2 != 0) {
right--;
} else { // 否则它是偶数,直接向右移动
right--;
}
}
// 打印结果
for (int num : array) {
System.out.print(num + " ");
}
}
// 用于交换数组中两个元素的辅助方法
private static void swap(int[] array, int i, int j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
```
运行这段代码后,你会看到数组中的奇数出现在前面,偶数出现在后面。
阅读全文