“Conocimientos Programación>Programación Java

Cómo combinar dos listas ADT Ordenado

2014/9/25
un tipo abstracto de datos ( TAD ), una lista o una lista vinculada como se le llama comúnmente , es una de las estructuras de datos fundamentales de la informática y una de las primeras alternativas a la simple array aprendido por un estudiante de informática . A pesar de que sacrifica la capacidad de moverse a la mitad de la lista sin tener que buscar a través de la primera lista , la lista ADT hace trivialmente fácil de ampliar y reducir el tamaño de los datos almacenados. Este código se implementa en Java , ya incorporado en la estructura de datos vinculada de Java nos permite llegar directamente al punto , pero la misma lógica podría aplicarse con la modificación mínima en cualquier otro lenguaje similar a C . Instrucciones
1

Crea tus dos listas enlazadas e inicializar con algunos datos ordenados pegando lo siguiente en un archivo Java:

LinkedList list1 = new LinkedList ( ) ;

LinkedList list2 = new LinkedList ();

for (int x = 0 ; x < 100 ; x + +) tiene dos listas enlazadas llenos de números aleatorios que han sido ordenados
2

Crear una nueva lista enlazada para mantener la lista combinada pegando el siguiente : .

LinkedList fusionado = new LinkedList ();
3

Establecer una simple bucle while . Este bucle se procederá siempre y cuando ambas listas tienen al menos un elemento en ellos, y se moverá el más pequeño de los elementos principales de la lista resultante de la fusión : .

//Si bien ambas listas no están vacías

while (! list1.isEmpty () && ! ​​list2.isEmpty () ) {

if ( list1.peek () < = list2.peek ()) {

fusionó . add ( list1.pop ());

} else {

merged.add ( list2.pop ()); }


}

el comando " Peek " se ve en el elemento en el frente de la lista, mientras que el " Pop ", ambas se ve en el elemento y lo elimina . Cuando se hace la comparación, sólo desea dar un vistazo a la parte superior de la lista para ver que es más pequeño . Cuando llega el momento de unificar las listas , quiere quitarle el valor superior y lo puso en las nuevas listas .
4

terminar el trabajo. Tan pronto como sea lista está vacía , no hay ninguna necesidad de seguir haciendo comparaciones . Por lo tanto , los viejos extremos de bucle , y otro bucle se crea para llenar el resto de la lista resultante de la fusión con los datos restantes de la última lista :

//Mientras que la primera lista no está vacía

mientras {

merged.add ( list1.pop ()); }

( list1.isEmpty ( !))

//mientras que la segunda lista no está vacía .

while {

merged.add ( list2.pop ()); }

( list2.isEmpty ( !))
5

Imprima los resultados para que pueda inspeccionar la lista combinada y asegurarse de que funcionaba correctamente :

int x = 1 ;

de (Doble y: fusionado ) {

sistema. out.println (x + " " + y);

x + + ; }



Programación Java
Cómo ejecutar un archivo Jar
¿Qué es un bucle en Java
Cómo manejar excepciones en Java
Cómo codificar un rectángulo en Java Con Dimensiones azar
Cómo obtener un número entero de nextLine
Cómo utilizar Weblogic.ejbc lugar de Weblogic.appc
Cómo eliminar una línea nueva de una cadena en Java
Cómo crear excepciones definidas por el usuario en Java
Conocimientos Informáticos © http://www.ordenador.online