Analise os códigos a seguir:
Código 01
import java.util.Stack;
public class Pilha {
public static void main(String[] args) {
Stack<Integer> pilha = new Stack<>();
pilha.push(5);
pilha.push(3);
pilha.push(8);
pilha.push(1);
Stack<Integer> pilhaOrdenada = new Stack<>();
while (!pilha.isEmpty()) {
int temp = pilha.pop();
while (!pilhaOrdenada.isEmpty() && temp >
pilhaOrdenada.peek()) {
pilha.push(pilhaOrdenada.pop());
}
pilhaOrdenada.push(temp);
}
System.out.println("Pilha Ordenada: " + pilhaOrdenada);
}
}
Código 02
import java.util.Stack;
public class Pilha {
public static void main(String[] args) {
Stack<Integer> pilha = new Stack<>();
pilha.push(5);
pilha.push(3);
pilha.push(8);
pilha.push(1);
Stack<Integer> pilhaOrdenada = new Stack<>();
while (!pilha.isEmpty()) {
int temp = pilha.pop();
while (!pilhaOrdenada.isEmpty() && temp <
pilhaOrdenada.peek()) {
pilha.push(pilhaOrdenada.pop());
}
pilhaOrdenada.push(temp);
}
System.out.println("Pilha Ordenada: " + pilhaOrdenada);
}
}
Ao comparar os dois códigos apresentados, assinale a alternativa correta.
O Exemplo 1 ordena de forma decrescente e o Exemplo 2 ordena de forma crescente.
O Exemplo 1 ordena de forma crescente e o Exemplo 2 ordena de forma decrescente.
Ambos os exemplos ordenam de forma crescente.
Ambos os exemplos ordenam de forma decrescente.