给定一全是数值类型的数组,将数组排序,排序规则:前边奇数从大到小,后边偶数从小到大。示例:[7,22,71,11,75,334,6] 返回排序结果:[75,71,11,7,6,22,334] java实现
时间: 2024-09-21 19:08:34 浏览: 29
在Java中,你可以通过使用双重循环和条件判断来实现这个特殊的排序需求。这里是一个简单的示例代码:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {7, 22, 71, 11, 75, 334, 6};
sortArray(arr);
System.out.println(Arrays.toString(arr));
}
public static void sortArray(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] % 2 == 1 && arr[j + 1] % 2 == 0) { // 如果前一个元素是奇数,后一个是偶数
// 交换位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
} else if (arr[j] % 2 == 1 && arr[j] > arr[j + 1]) { // 同样都是奇数,按降序排列
// 交换位置
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
```
当你运行这个程序,它会按照给定的规则对数组`arr`进行排序。输出将会是 `[75, 71, 11, 7, 6, 22, 334]`。
阅读全文