定义一个长度为10数组偶数排在奇数前面java
时间: 2024-02-27 13:51:46 浏览: 68
调整数组顺序使奇数位于偶数前面.md
可以使用双指针的方法,一个指针从数组的左侧开始,一个指针从数组的右侧开始,分别向中间移动,如果左侧指针指向的数为奇数,右侧指针指向的数为偶数,则交换它们的位置,直到两个指针相遇为止。
Java代码实现如下:
```java
public static void evenBeforeOdd(int[] arr) {
int left = 0;
int right = arr.length - 1;
while (left < right) {
// 左指针指向的数为奇数
while (left < right && arr[left] % 2 == 1) {
left++;
}
// 右指针指向的数为偶数
while (left < right && arr[right] % 2 == 0) {
right--;
}
// 交换左右指针指向的数
if (left < right) {
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
}
```
调用方法:
```java
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
evenBeforeOdd(arr);
System.out.println(Arrays.toString(arr)); // [8, 2, 6, 4, 5, 3, 7, 1, 9, 10]
```
阅读全文