Filas e Pilhas
Pilhas e filas são simplesmente uma Lista linear, onde tanto a pilha como a fila pode ser implementada por meio de uma lista encadeada ou um vetor.
A diferença entre as duas é o mecanismo para manipulação dos dados. Enquanto fila obedece o principio de FIFO (First In First Out), uma pilha é manipulada por LIFO (Last In First Out).
Comparando fila(queue) e pilha(stack) nas linguagens de programação JAVA e C++, Algumas pequenas diferenças são notadas na sintaxe de cada lingaguem de programação.
Em fila(queue) algumas sintaxes diferem como é o caso em java offer() e C++ push() para inserir um elemento no final da fila.
O java oferece algumas sintaxes que não contem no c++, como é o caso do comando peek() (mostra mas não remove o topo desta fila, retornando nulo se a fila estiver vazia) e o poll() (mostra e remove o topo da fila, ou retorna null se a fila estiver vazia). Ainda em C++ o temos o comando back() que tem por função apresentar o elemento que está no final da fila.
Pilha(stack) o conceito de funcionamento e as sintaxes são as mesmas.
Resumindo, o C++ e o Java contém as funções primitivas filas e pilhas com praticamente o mesmo contexto, funções e utilidades, onde estes na programação são ferramentas poderosas para o desenvolvedor.
FILA (QUEUE)
JAVA
C++ CONCEITO
offer(objeto) push(objeto )
Insere um elemento no final da fila. element() front()
Mostra mas não remove o topo da fila. peek() Apenas mostra e retorna null se for vazia. poll() Mostra e remove o topo da fila, ou retorna null se for vazia. remove() pop()
Remove o topo da fila. isEmpty() empty()
Verifica se a fila está vazia size() size()
Apresenta a quantidade de elementos existentes da pilha. back()
Apresenta o elemento que está no final da fila.
PILHA (STACK)
JAVA
C++ CONCEITO
push(objeto) push(objeto) - insere um elemento no topo da pilha pop() pop()
- remove o elemento que está no topo da