Я ищу, чтобы отсортировать некоторые элементы внутри массива, но исключить другие.
Для простого примера, массив, содержащий целые числа, я хотел бы отсортировать нечетные числа, но оставить четное, где они есть.
До сих пор у меня есть следующее:
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
Невозможно определить логику, необходимую для сценария, в котором младшее нечетное число приходит до четного числа в исходном массиве.