Programa Java para fusionar dos arrays

Ejemplos:

Entrada : arr1[] = { 1, 3, 4, 5}, arr2[] = {2, 4, 6, 8}
Salida : arr3[] = {1, 3, 4, 5, 2, 4, 6, 8}

Entrada : arr1[] = { 5, 8, 9}, arr2[] = {4, 7, 8}
Salida : arr3[] = {5, 8, 9, 4, 7, 8}

Método 1: Uso de la función predefinida

  • Primero, inicializamos dos arrays, digamos array a y array b , luego almacenaremos valores en ambas arrays.
  • Después de eso, calcularemos la longitud de las arrays a y b y la almacenaremos en las variables, digamos a1 y b1 . Necesitamos calcular la longitud de la array porque al usar la longitud de estas arrays podemos predecir la longitud de la array resultante en la que se almacenarán los elementos después de la fusión.
  • Luego, al usar System.arraycopy() , fusionamos ambas arrays y el resultado se almacenará en la tercera array.

A continuación se muestra la implementación del enfoque anterior.

Java

// Java Program to demonstrate merging
// two array using pre-defined method
  
import java.util.Arrays;
  
public class MergeTwoArrays1 {
    public static void main(String[] args)
    {
        // first array
        int[] a = { 10, 20, 30, 40 };
  
        // second array
        int[] b = { 50, 60, 70, 80 };
  
        // determines length of firstArray
        int a1 = a.length;
        
        // determines length of secondArray
        int b1 = b.length;
        
        // resultant array size
        int c1 = a1 + b1;
  
        // create the resultant array
        int[] c = new int[c1];
  
        // using the pre-defined function arraycopy
        System.arraycopy(a, 0, c, 0, a1);
        System.arraycopy(b, 0, c, a1, b1);
  
        // prints the resultant array
        System.out.println(Arrays.toString(c));
    }
}
Producción

[10, 20, 30, 40, 50, 60, 70, 80]

Tiempo Complejidad:
Espacio Auxiliar:

Método 2: sin utilizar una función predefinida

  • Primero, inicializamos dos arrays, digamos array a y array b , luego almacenaremos valores en ambas arrays.
  • Después de eso, calcularemos la longitud de ambas arrays y la almacenaremos en las variables, digamos a1 y b1 . Necesitamos calcular la longitud de la array porque al usar la longitud de estas arrays podemos predecir la longitud de la array resultante en la que se almacenarán los elementos después de la fusión.
  • Luego se creará la nueva array c , que es la array resultante.
  • Ahora, el primer ciclo se usa para almacenar los elementos de la primera array en la array resultante uno por uno y el segundo ciclo para almacenar los elementos de la segunda array en la array resultante uno por uno.
  • El bucle for final se usa para imprimir los elementos de la array resultante.

A continuación se muestra la implementación del enfoque anterior.

Java

// Java Program to demonstrate merging
// two array without using pre-defined method
  
import java.io.*;
  
public class MergeTwoArrays2 {
    public static void main(String[] args)
    {
  
        // first array
        int a[] = { 30, 25, 40 };
        // second array
        int b[] = { 45, 50, 55, 60, 65 };
  
        // determining length of first array
        int a1 = a.length;
        // determining length of second array
        int b1 = b.length;
  
        // resultant array size
        int c1 = a1 + b1;
  
        // Creating a new array
        int[] c = new int[c1];
  
        // Loop to store the elements of first
        // array into resultant array
        for (int i = 0; i < a1; i = i + 1) {
            // Storing the elements in 
            // the resultant array
            c[i] = a[i];
        }
  
        // Loop to concat the elements of second 
        // array into resultant array
        for (int i = 0; i < b1; i = i + 1) {
  
            // Storing the elements in the 
            // resultant array
            c[a1 + i] = b[i];
        }
  
        // Loop to print the elements of 
        // resultant array after merging
        for (int i = 0; i < c1; i = i + 1) {
              
            // print the element
            System.out.println(c[i]);
        }
    }
}
Producción

30
25
40
45
50
55
60
65

Tiempo Complejidad:
Espacio Auxiliar:

Publicación traducida automáticamente

Artículo escrito por snigdha_yambadwar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *