Упражнения по массиву Java: разделение четных и нечетных чисел заданного массива целых чисел
Java Array: упражнение 52 с решением
Напишите Java-программу для разделения четных и нечетных чисел заданного массива целых чисел. Сначала ставьте все четные числа, а затем нечетные.
Иллюстрированная презентация:
Пример решения :
Java-код:
import java.util.Arrays;
public class Main
{
public static void main (String[] args)
{
int nums[] = {20, 12, 23, 17, 7, 8, 10, 2, 1, 0};
int result[];
System.out.println("Original Array ");
System.out.println(Arrays.toString(nums));
result = separate_odd_even(nums);
System.out.print("Array after separation ");
System.out.println(Arrays.toString(result));
}
static int [] separate_odd_even(int arr[])
{
int left_side = 0, right_side = arr.length - 1;
while (left_side < right_side)
{
while (arr[left_side]%2 == 0 && left_side < right_side)
left_side++;
while (arr[right_side]%2 == 1 && left_side < right_side)
right_side--;
if (left_side < right_side)
{
int temp = arr[left_side];
arr[left_side] = arr[right_side];
arr[right_side] = temp;
left_side++;
right_side--;
}
}
return arr;
}
}
Пример вывода:
Оригинальный массив [20, 12, 23, 17, 7, 8, 10, 2, 1, 0] Массив после разделения [20, 12, 0, 2, 10, 8, 7, 17, 1, 23]
Блок - схема:
Визуализация выполнения кода Java (Python Tutor):
Редактор кода Java:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите Java-программу для разделения 0 в левой части и 1 в правой части массива из 0 и 1 в случайном порядке.
Далее: Напишите программу на Java, чтобы заменить каждый элемент следующим наибольшим элементом (справа) в заданном массиве целых чисел.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования