Ejercicios Java – Estructuras dinámicas

Escribe la función “InsertaArrayEnArrayPro” a la que le pasamos tres parámetros: un array de enteros, una posición en ese array y otro array de enteros. La función insertará en el primer array, a partir de la posición indicada, todo el contenido del segundo array, y nos devolverá otro array con el resultado. Para ello, usaremos una lista como paso intermedio: copiamos el array a la lista, realizamos la inserción en la lista y luego convertiremos la lista en un array y lo devolveremos.


Ejercicio resuelto

package ejercicio3;
import java.util.ArrayList;
import java.util.PriorityQueue;
import java.util.Queue;

public class Ejercicio3 {

public static void main(String[] args) {

ArrayList a = new ArrayList<>();
ArrayList b = new ArrayList<>();

a.add(1);
a.add(3);
a.add(5);
a.add(7);
a.add(19);

b.add(4);
b.add(5);
b.add(8);
b.add(10);
b.add(12);

OrdenaciónMezcla(a,b);
}

private static void OrdenaciónMezcla(ArrayList x, ArrayList y) {

Queue q1 = new PriorityQueue<>(x);
Queue q2 = new PriorityQueue<>(y);

ArrayList listafinal = new ArrayList<>();

/*
for (int i =0; i<=q1.size();i++) { for (int j =0; j<=q2.size();j++) { if (q1.peek()<=q2.peek()) { listafinal.add(q1.poll()); } else { listafinal.add(q2.poll()); } } } */ while (q1.isEmpty()==false || q2.isEmpty()==false) { if (q1.isEmpty()==false && q2.isEmpty()!=false) { listafinal.add(q1.poll()); } else if (q2.isEmpty()==false && q1.isEmpty()!=false) { listafinal.add(q2.poll()); } else { if (q2.peek()<=q1.peek()) { listafinal.add(q2.poll()); listafinal.add(q1.poll()); } else { listafinal.add(q1.poll()); listafinal.add(q2.poll()); } } } System.out.println(listafinal); } }

Write a Reply or Comment

Your email address will not be published.