Buscar

Estrutura de Dados

Prévia do material em texto

CURSO: Análise e desenvolvimento de sistemas 
POLO DE APOIO PRESENCIAL: Higienópolis 
SEMESTRE: 3° semestre 
COMPONENTE CURRICULAR / TEMA: Estrutura de Dados 
NOME COMPLETO DO ALUNO: Flavio Morales 
TIA: 22504907 
NOME DO PROFESSOR: Thiago Donizetti dos Santos 
 
import java.util.LinkedList; 
class Fila<T> { 
 private LinkedList<T> lista = new LinkedList<>(); 
 
 public void enfileirar(T elemento) { 
 lista.add(elemento); 
 } 
 public T desenfileirar() { 
 if (estaVazia()) { 
 throw new IllegalStateException("A fila está vazia."); 
 } 
 return lista.removeFirst(); 
 } 
 public boolean estaVazia() { 
 return lista.isEmpty(); 
 } 
 public T primeiro() { 
 if (estaVazia()) { 
 throw new IllegalStateException("A fila está vazia."); 
 } 
 
 return lista.getFirst(); 
 } 
 public int tamanho() { 
 return lista.size(); 
 } 
} 
class Pilha<T> { 
 private LinkedList<T> lista = new LinkedList<>(); 
 public void empilhar(T elemento) { 
 lista.addFirst(elemento); 
 } 
 public T desempilhar() { 
 if (estaVazia()) { 
 throw new IllegalStateException("A pilha está vazia."); 
 } 
 return lista.removeFirst(); 
 } 
 public boolean estaVazia() { 
 return lista.isEmpty(); 
 } 
 public T topo() { 
 if (estaVazia()) { 
 throw new IllegalStateException("A pilha está vazia."); 
 } 
 return lista.getFirst(); 
 } 
 public int tamanho() { 
 return lista.size(); 
 
 } 
} 
public class InverterFila { 
 public static void main(String[] args) { 
 Fila<String> fila = new Fila<>(); 
 fila.enfileirar("Alice"); 
 fila.enfileirar("Bob"); 
 fila.enfileirar("Charlie"); 
 fila.enfileirar("David"); 
 fila.enfileirar("Eve"); 
 System.out.println("Primeiro elemento da fila antes da inversão: " + fila.primeiro()); 
 
 inverterFila(fila); 
 
 System.out.println("Primeiro elemento da fila após a inversão: " + fila.primeiro()); 
 } 
 public static void inverterFila(Fila<String> fila) { 
 Pilha<String> pilha = new Pilha<>(); 
 
 while (!fila.estaVazia()) { 
 pilha.empilhar(fila.desenfileirar()); 
 } 
 
 while (!pilha.estaVazia()) { 
 fila.enfileirar(pilha.desempilhar()); 
 } 
 } 
}

Continue navegando

Outros materiais