( ) ;
3 Opzetten van een eenvoudige while lus . Deze lus zal zo lang gaat u als beide lijsten hebben ten minste een element in hen , en het zal de kleinste van de bovenste elementen te verplaatsen naar de samengevoegde lijst : .
//Terwijl beide lijsten niet leeg
terwijl ( ! list1.isEmpty ( ) && ! list2.isEmpty ( ) ) {
if ( list1.peek ( ) < = list2.peek ( ) ) {
samengevoegd . add ( list1.pop ( ) ) ;
} else {
merged.add
( list2.pop ( ) ) ;
}
}
" Peek " commando
kijkt naar het element aan de voorzijde van de lijst , terwijl " Pop" zowel kijkt naar het element en verwijderd . Wanneer de vergelijking wordt gemaakt , u alleen wilt gluren bij de top van de lijst om te zien welke kleiner is . Wanneer het tijd is om de lijsten samen te voegen , wil je weg te nemen de bovenste waarde en zet het op de nieuwe lijsten .
4
Maak het werk . Zodra een lijst leeg is , is er geen noodzaak om te blijven maken van vergelijkingen . Daarom is de oude lus eindigt , en een andere lus is gemaakt om de rest van de samengevoegde lijst te vullen met de overige gegevens van de laatste lijst :
//Terwijl de eerste lijst niet leeg
terwijl {
merged.add
( list1.pop ( ) ) ;
} ( list1.isEmpty ( ) ! ) op
//terwijl de tweede lijst is niet leeg .
terwijl {
merged.add
( list2.pop ( ) ) ;
} ( list2.isEmpty ( ) ! )
5
Print de resultaten , zodat u de samengevoegde lijst kan inspecteren en zorgen voor het goed werkte :
int x = 1 ;
voor ( Dubbele y : samengevoegd ) {
System
. out.println ( x + " " + y ) ;
x + + ;
}