编写一个Java程序,接受一个整数数组,将数组中所有的奇数放到偶数前面。
时间: 2024-02-11 13:05:11 浏览: 82
以下是一个示例Java程序,可以实现将奇数放到偶数前面的功能:
```java
import java.util.Arrays;
public class OddEvenSort {
public static void main(String[] args) {
int[] arr = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
System.out.println("Original array: " + Arrays.toString(arr));
oddEvenSort(arr);
System.out.println("Sorted array with odd numbers first: " + Arrays.toString(arr));
}
public static void oddEvenSort(int[] arr) {
int left = 0;
int right = arr.length - 1;
while (left < right) {
while (arr[left] % 2 != 0 && left < right) {
left++;
}
while (arr[right] % 2 == 0 && left < right) {
right--;
}
if (left < right) {
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
}
}
```
程序首先定义了一个整数数组,然后输出原始数组。接着调用 `oddEvenSort` 函数对数组进行排序。该函数使用双指针方法,从数组两端开始扫描,当左指针指向的元素为奇数时,向右移动左指针;当右指针指向的元素为偶数时,向左移动右指针。当左指针指向的元素为偶数,右指针指向的元素为奇数时,交换它们的位置。最后输出排序后的数组,奇数在前面,偶数在后面。
阅读全文