();
3 Mettre en place d'une simple boucle while . Cette boucle se poursuivra tant que les deux listes ont au moins un élément en eux, et il se déplace le plus petit des premiers éléments de la liste fusionnée : .
//Si les deux listes ne sont pas vides
tout ( ! list1.isEmpty () && ! list2.isEmpty ()) {
if ( list1.peek () < = list2.peek ()) {
fusionné . add ( list1.pop ());
} else {
merged.add ( list2.pop ());
}
}
la commande " Peek "
regarde l'élément au début de la liste , alors que " Pop " à la fois se penche sur l'élément et le supprime . Lorsque la comparaison est faite, vous ne voulez coup d'oeil au sommet de la liste pour voir qui est plus petit . Quand vient le temps de fusionner les listes , vous voulez emporter la valeur supérieure et le mettre sur les nouvelles listes .
4
finir le travail. Dès que soit la liste est vide, il n'est pas nécessaire de continuer à faire des comparaisons . Par conséquent , les anciennes extrémités de la boucle , et une autre boucle est créé pour combler le reste de la liste fusionnée avec le reste des données de la dernière liste :
//Alors que la première liste n'est pas vide
tandis que {
merged.add ( list1.pop ());
de
} ( list1.isEmpty () !)
//alors que la deuxième liste n'est pas vide . Photos
tout {
merged.add ( list2.pop ());
de
} ( list2.isEmpty () !)
5
Imprimez les résultats de sorte que vous pouvez consulter la liste fusionnée et s'assurer qu'elle a bien fonctionné :
int x = 1;
pour ( Double Y : fusionné ) { System
. out.println ( x + "" + y);
x + +;
}