Есть массив:
int[] arr = {1,5,7,4,2};
Нужно отсортировать элементы четные и не четные. На пример этот массив должен выглядеть вот так:
int[] arr = {1,2,5,4,7};
Если первый элемент четный, тогда второй должен быть нечетным. Есть код, который определяет четные и не четные цифры:
int odd = 0;
int even = 0;
System.out.println("odd");
for (int i = 0; i < array.length; i++) {
if (array[i] % 2 == 1) {
odd = array[i];
System.out.println(odd);
}
}
System.out.println("even");
for (int j = 0; j < array.length; j++) {
if (array[j] % 2 == 0){
even = array[j];
}
System.out.println(even);
}
}
И есть код, который меняет местами цифры:
private static void swap(int[] array, int i, int j) {
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
Куда и каким образом надо вызвать этот метод для получения результата?
А вот такой вариант подойдет?
static class CompareByInt implements Comparator<Integer>{
@Override
public int compare(Integer o1, Integer o2) {
return o1-o2;
}
}
public static void main(String[] args) {
int[] array = {1,5,7,4,2};
System.out.println(Arrays.toString(array));
ArrayList<Integer> Odd = new ArrayList<>();
ArrayList<Integer> Even = new ArrayList<>();
for (int i = 0; i < array.length; i++) {
if (array[i] % 2 == 1) {
Odd.add(array[i]);
}
}
for (int j = 0; j < array.length; j++) {
if (array[j] % 2 == 0){
Even.add(array[j]);
}
}
Odd.sort(new CompareByInt());
Even.sort(new CompareByInt());
ArrayList<Integer> start;
ArrayList<Integer> second;
if(Odd.size()>Even.size()){
start = Odd;
second = Even;
} else {
start = Even;
second = Odd;
}
int len = start.size() + second.size();
ArrayList<Integer> result = new ArrayList<>(len);
int index = 0;
while (index<len){
if(index%2==0){
result.add(start.remove(0));
} else {
result.add(second.remove(0));
}
index++;
}
System.out.println(result);
}
Или вам именно надо весь процесс сортировки сделать самому?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Страница jsp компилируется в сервлетУ нее есть методы jspInit(), jspService(HttpServletRequest, HttpServletResponse), jspDestroy()