如何对一些元素进行排序,而将其他元素留在Java中?
我希望对数组中的一些元素进行排序,但排除其他元素。
对于一个简单的例子,一个包含整数的数组,我想对奇数进行排序,但将偶数保留在原处。
到目前为止,我有以下内容:
public class MyClass {
public static void main(String args[]) {
int temp;
int array[] = {5, 3, 2, 8, 1, 4};
int[] sortedArray = new int[array.length];
for (int j = 0; j < array.length - 1; j++) {
for (int x = 0; x < array.length - 1; x++) {
if (array[x] > array[x + 1] && array[x] % 2 != 0 && array[x + 1] % 2 !=0) {
temp = array[x];
array[x] = array[x + 1];
array[x + 1] = temp;
sortedArray = array;
}
}
}
for (int i: sortedArray) {
System.out.println(i);
}
}
}
给定整数数组:5、 3、 2、 8、 1、 4
代码输出:3、5、2、8、1、4
预期输出: 1, 3, 2, 8, 5, 4
无法完全弄清楚原始数组中较低的奇数先于偶数的场景所需的逻辑。