();
3 impostare un semplice ciclo while . Questo ciclo proseguirà fino a quando entrambe le liste hanno almeno un elemento in loro, ed esso si sposterà il più piccolo degli elementi superiori alla lista risultante dalla fusione : .
//Mentre entrambe le liste non sono vuoti
while (! list1.isEmpty ( ) && ! list2.isEmpty ( )) {
( list1.peek ( ) < = list2.peek ( ) ) {
fusa . add ( list1.pop ());
} else {
merged.add ( list2.pop ()); }
}
il comando " Peek " guarda l'elemento in testa alla lista , mentre " pop " sia guarda l'elemento e lo rimuove . Quando viene effettuato il confronto , si desidera solo per sbirciare in cima alla lista per vedere quale è più piccolo . Quando arriva il momento di unire le liste , si vuole togliere il valore superiore e lo metterà sui nuovi elenchi .
4
finire il lavoro. Quando uno elenco è vuoto , non c'è bisogno di continuare a fare confronti . Pertanto , le vecchie estremità dell'ansa, e un altro anello è creato per riempire il resto della lista risultante dalla fusione con i rimanenti dati dell'ultimo elenco :
//Mentre il primo elenco non è vuoto
mentre {
merged.add ( list1.pop ()); }
( list1.isEmpty ( ) ! ) per
//mentre la seconda lista non è vuota .
mentre {
merged.add ( list2.pop ()); }
( list2.isEmpty ( ) ! ) economici 5
stampare i risultati in modo da poter controllare l'elenco risultante dalla fusione e garantire ha funzionato correttamente:
int x = 1;
per ( doppia y: fusa ) {
sistema . out.println ( x + " " + y) ;
x + + ; }