();
3 Configurar um simples loop while . Este ciclo vai continuar enquanto ambas as listas têm pelo menos um elemento em si, e vai passar a menor dos principais elementos para a lista mesclada : .
//Enquanto ambas as listas não estão vazios
while ( list1.isEmpty ! ( ) && ! list2.isEmpty ()) {
if ( list1.peek () < = list2.peek ()) {
fundiu . adicionar ( list1.pop ()); }
else {
merged.add ( list2.pop ()); }
}
o comando " Peek " olha para o elemento na frente da lista , enquanto o " Pop ", tanto olha para o elemento e remove-lo. Quando a comparação é feita, você só quiser espreitar o topo da lista para ver qual é menor. Quando chega a hora de mesclar as listas , você quer tirar o valor superior e colocá-lo sobre as novas listas.
4
terminar o trabalho. Assim que uma ou outra lista está vazia , não há necessidade de continuar a fazer comparações. Portanto , o laço velho termina, e outro loop é criado para preencher o resto da lista mesclada com os dados restantes da última lista :
//Enquanto a primeira lista não é
vazio
while ( list1.isEmpty ( !)) {
merged.add ( list1.pop ()); }
//enquanto a segunda lista não está vazia.
enquanto {
merged.add ( list2.pop ()); }
( list2.isEmpty () !)
5
Imprima os resultados para que você possa inspecionar a lista mesclada e garantir que ele funcionou corretamente :
int x = 1;
for ( y Duplo : fundiu ) {
sistema. out.println (x + "" + y);
x + +; }