Pilha
Na computação, uma pilha é uma estrutura de dados usada para armazenar uma coleção de objetos. Itens individuais podem ser adicionados e armazenados em uma pilha usando uma operação push. Os objetos podem ser recuperados usando uma operação pop, que remove um item da pilha.
Quando um objeto é adicionado a uma pilha, ele é colocado acima de todos os itens inseridos anteriormente. Quando um item é removido, ele pode ser retirado do topo ou do fundo da pilha. Uma pilha na qual os itens são removidos do topo é considerada uma pilha "LIFO" (Last In, First Out). Você pode imaginar uma pilha LIFO como um baralho de cartas no qual você coloca cartas individuais sobre o baralho e depois retira as cartas do topo. Em uma pilha "FIFO" (First In, First Out), os itens são removidos do fundo. Você pode imaginar uma pilha FIFO como uma fileira em uma máquina de venda automática, na qual os itens são dispensados na ordem em que foram colocados na máquina.
As pilhas têm várias aplicações na programação de computadores. As pilhas LIFO, por exemplo, podem ser usadas para recuperar objetos usados recentemente de um cache. As pilhas FIFO podem ser usadas para garantir que os dados sejam recuperados na ordem em que foram inseridos, o que pode ser útil para processar dados em uma fila.
Embora as pilhas sejam comumente usadas por programadores de software, normalmente você não perceberá sua presença ao usar um programa. Isso acontece porque a criação de pilhas e as operações push e pop são realizadas em segundo plano enquanto um aplicativo está sendo executado e não ficam visíveis para o usuário. No entanto, se uma pilha ficar sem memória, isso causará um "estouro de pilha". Se não for tratado corretamente pelo programa, um estouro de pilha poderá gerar uma mensagem de erro ou fazer o programa travar.
NOTE: O termo "pilha" também pode se referir a uma pilha de protocolos, que consiste em vários protocolos de rede que trabalham em conjunto. Cada protocolo é categorizado em uma das sete camadas diferentes definidas no modelo OSI.
Teste seus conhecimentos