fork download
  1. import java.util.Stack;
  2. import java.util.Queue;
  3. import java.util.LinkedList;
  4.  
  5. public class Main {
  6.  
  7. public static void main(String[] args) {
  8. // Passo 1: Criando a lista e inserindo os números [1, 2, 3, 4, 5]
  9. LinkedList<Integer> lista = new LinkedList<>();
  10. lista.add(1);
  11. lista.add(2);
  12. lista.add(3);
  13. lista.add(4);
  14. lista.add(5);
  15. System.out.println("Passo 1: Lista inicial: " + lista);
  16.  
  17. // Passo 2: Remover os números da lista e colocar na pilha
  18. Stack<Integer> pilha = new Stack<>();
  19. while (!lista.isEmpty()) {
  20. pilha.push(lista.removeFirst()); // Remove o primeiro e coloca na pilha
  21. }
  22. System.out.println("Passo 2: Pilha após inserção: " + pilha);
  23.  
  24. // Passo 3: Remover os números da pilha e colocar na fila
  25. Queue<Integer> fila = new LinkedList<>();
  26. while (!pilha.isEmpty()) {
  27. fila.offer(pilha.pop()); // Remove da pilha e coloca na fila
  28. }
  29. System.out.println("Passo 3: Fila após inserção: " + fila);
  30.  
  31. // Passo 4: Inserir os números [6, 7, 8, 9, 10] na lista
  32. lista.add(6);
  33. lista.add(7);
  34. lista.add(8);
  35. lista.add(9);
  36. lista.add(10);
  37. System.out.println("Passo 4: Lista após inserção: " + lista);
  38.  
  39. // Passo 5: Repetir Passo 2 e Passo 3 com os novos números
  40. while (!lista.isEmpty()) {
  41. pilha.push(lista.removeFirst()); // Remove da lista e coloca na pilha
  42. }
  43. System.out.println("Passo 2 (repetido): Pilha após inserção: " + pilha);
  44.  
  45. while (!pilha.isEmpty()) {
  46. fila.offer(pilha.pop()); // Remove da pilha e coloca na fila
  47. }
  48. System.out.println("Passo 3 (repetido): Fila após inserção: " + fila);
  49.  
  50. // Passo 6: Exibir os números na fila
  51. System.out.println("Passo 6: Números na fila (ordem final): " + fila);
  52. }
  53. }
  54.  
Success #stdin #stdout 0.14s 55420KB
stdin
Standard input is empty
stdout
Passo 1: Lista inicial: [1, 2, 3, 4, 5]
Passo 2: Pilha após inserção: [1, 2, 3, 4, 5]
Passo 3: Fila após inserção: [5, 4, 3, 2, 1]
Passo 4: Lista após inserção: [6, 7, 8, 9, 10]
Passo 2 (repetido): Pilha após inserção: [6, 7, 8, 9, 10]
Passo 3 (repetido): Fila após inserção: [5, 4, 3, 2, 1, 10, 9, 8, 7, 6]
Passo 6: Números na fila (ordem final): [5, 4, 3, 2, 1, 10, 9, 8, 7, 6]