java定义一个数组奇数放在数组的左边,偶数放在数组的右边。
时间: 2023-08-28 07:06:36 浏览: 164
java中关于数组
可以使用双指针法,一个指针从左往右扫描奇数,一个指针从右往左扫描偶数,然后交换它们的位置。以下是Java代码实现:
```java
public void oddEvenSort(int[] nums) {
int left = 0, right = nums.length - 1;
while (left < right) {
while (left < right && nums[left] % 2 != 0) {
left++;
}
while (left < right && nums[right] % 2 == 0) {
right--;
}
if (left < right) {
int temp = nums[left];
nums[left] = nums[right];
nums[right] = temp;
left++;
right--;
}
}
}
```
这里使用了两个while循环分别找到第一个偶数和第一个奇数,然后交换它们的位置。循环的条件是left < right,即左指针不能超过右指针。最后数组中奇数都在左边,偶数都在右边。
阅读全文