();
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 + + ; }