Упражнения на Java: объединение двух заданных отсортированных массивов целых чисел и создание нового отсортированного массива
Java Basic: упражнение 113 с решением
Напишите Java-программу для объединения двух заданных отсортированных массивов целых чисел и создания нового отсортированного массива.
пример
массив1 = [1,2,3,4]
массив2 = [2,5,7, 8]
результат = [1,2,2,3,4,5,7,8]
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
public class Example113 {
public static void main(String[] arg)
{
// Sorted integer array array1 which has m elements,
// but size of array1 is m+n, sorted integer array array2 which has n elements
//declaration and instantiation.
int array1[]=new int[8];
//initialization.
array1[0]=1;
array1[1]=2;
array1[2]=3;
array1[3]=4;
int[] array2 = {2,5,7,8};
System.out.println("\nArray1: "+Arrays.toString(array1));
System.out.println("\nArray2: "+Arrays.toString(array2));
int m =4, n=4;
int i = m-1, j = n-1, index = m + n - 1;
while (i >= 0 && j >= 0) {
if (array1[i] > array2[j]) {
array1[index--] = array1[i--];
} else {
array1[index--] = array2[j--];
}
}
while (i >= 0) {
array1[index--] = array1[i--];
}
while (j >= 0) {
array1[index--] = array2[j--];
}
System.out.println("\nMerged array: "+Arrays.toString(array1));
}
}
Пример вывода:
Array1: [1, 2, 3, 4, 0, 0, 0, 0] Array2: [2, 5, 7, 8] Объединенный массив: [1, 2, 2, 3, 4, 5, 7, 8]
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Написать Java-программу для вычисления числа конечных нулей в факториале.
Далее: написать программу на Java с заданной строкой и смещением, повернуть строку на смещение (повернуть слева направо).
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code