Estruturas de Dados Fila Pilha Compacto Final Corrigido

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 1

Estruturas de Dados: Fila, Pilha e Suas Variações

Fila (Array): Uma fila (queue) segue o princípio FIFO (First In, First Out). Em um array, os elementos são adicionados no final e removidos do início. Exemplo em Java:
import java.util.LinkedList; import java.util.Queue; public class FilaArray { public static void main(String[] args) { Queue<Integer> fila = new LinkedList<>(); fila.add(1); fila.add(2);
System.out.println(fila.remove()); } }

Pilha (Array): Uma pilha (stack) segue o princípio LIFO (Last In, First Out). Em um array, os elementos são adicionados e removidos do final. Exemplo em Java:
import java.util.Stack; public class PilhaArray { public static void main(String[] args) { Stack<Integer> pilha = new Stack<>(); pilha.push(1); pilha.push(2); System.out.println(pilha.pop()); } }

Fila Circular (Array): Uma fila circular conecta o último elemento ao primeiro, formando um círculo. Isso permite uma utilização eficiente do espaço. Exemplo em Java:
public class FilaCircularArray { private int[] fila; private int tamanho, inicio, fim; public FilaCircularArray(int tamanho) { this.tamanho = tamanho; this.fila = new int[tamanho]; this.inicio = -1; this.fim = -1; }
public void enfileirar(int item) { if ((fim + 1) % tamanho == inicio) { System.out.println("Fila Cheia"); } else if (inicio == -1) { inicio = 0; fim = 0; fila[fim] = item; } else { fim = (fim + 1) % tamanho; fila[fim] =
item; } } public int desenfileirar() { if (inicio == -1) { System.out.pri...

Pilha Encadeada (Linked List): Uma pilha encadeada utiliza nós conectados entre si para armazenar os elementos, sendo eficiente para inserções e remoções frequentes. Exemplo em Java:
public class PilhaEncadeada { private No topo; private class No { int valor; No proximo; No(int valor) { this.valor = valor; } } public void empilhar(int valor) { No novoNo = new No(valor); novoNo.proximo
= topo; topo = novoNo; } public int desempilhar() { if (topo == null) { return -1; } int valor = topo.valor; topo = topo.proximo; return valor; } public static void main(String[] args) { PilhaEncadeada pilha =
new PilhaEncadeada(); pilha.empilhar(1); pilha.empilhar(2); System.out.println(pilha.desempilh...

Fila Encadeada (Linked List): Uma fila encadeada utiliza nós conectados entre si, permitindo inserções no final e remoções no início de forma eficiente. Exemplo em Java:
public class FilaEncadeada { private No inicio, fim; private class No { int valor; No proximo; No(int valor) { this.valor = valor; } } public void enfileirar(int valor) { No novoNo = new No(valor); if (fim != null)
{ fim.proximo = novoNo; } fim = novoNo; if (inicio == null) { inicio = novoNo; } } public int desenfileirar() { if (inicio == null) { return -1; } int valor = inicio.valor; inicio = inicio.proximo; if (inicio == null) { fim =
null; } return valor; } public static void main(String[] args) { Fil...

Você também pode gostar