O que é e como funciona a Estrutura de Dados Pilha

Uma estrutura de dados é uma maneira de armazenar e relacionar conjuntos de informações de forma organizada e, na maioria das vezes, sequencial. Estas estruturas são muito importantes quando precisamos armazenar um conjunto de dados para ser utilizado em um determinado software. Na computação, há diversos tipos de estruturas de dados que podem ser utilizadas para diferentes fins. Vimos no artigo anterior o que é e como funciona a Estrutura de Dados Lista e neste artigo veremos o que é e como funciona a Estrutura de Dados Pilha.

Python - Estrutura de dados - Parte 1
Curso de Python - Estrutura de dados - Parte 1
CONHEÇA O CURSO

O que é uma Pilha?

Pilhas são estruturas de dados que armazenam os elementos em um formato sequencial, empilhando um item acima do outro (imagine uma pilha de pratos, por exemplo). Estas estruturas permitem “empilhar” os itens que serão armazenados e “desempilhar” estes elementos da pilha quando precisarmos removê-lo.
Sempre que um novo elemento é inserido (ou empilhado) damos a ele o nome de “topo”, pois é o primeiro elemento ao qual teremos acesso.

Segue um padrão conhecido como LIFO (Last In First Out), onde o último a entrar será o primeiro a sair.
Imagine uma pilha de pratos, sempre que um prato é “empilhado” sob o outro, este último prato empilhado é o mais próximo (ou o topo da pilha) e, caso precisarmos remover um prato, é o prato do topo que será removido da estrutura.

Entre os exemplos de uso de uma pilha em um sistema, podemos citar a navegação entre páginas web ou até mesmo o mecanismo de desfazer/refazer dos editores de texto.

Como funciona a Estrutura de Dados Pilha

Vamos imaginar o cenário onde diversas cores de carros serão adicionados em uma pilha.

Após colocarmos o primeiro elemento em nossa pilha, a mesma poderá ser representada da seguinte forma:

inserindo um elemento em uma pilha

O primeiro elemento “Carro preto” foi adicionado à nossa pilha, representando seu primeiro elemento (Primeiro nó). À esta funcionalidade de inserção de elementos damos o nome de push.

Logo, estaremos inserindo em seguida o próximo elemento “Carro verde”. Este elemento será então inserido logo acima do nosso elemento anterior (carro preto), ficando da seguinte forma:

inserindo um elemento em uma pilha

Desta forma, ao finalizar a inserção de todos os carros, o resultado da nossa pilha será a seguinte:

inserindo um elemento em uma pilha

É possível notar que cada carro foi “empilhado” sob o outro e o último carro inserido é o “topo”. Esta é, basicamente, a funcionalidade de uma pilha.

Java - Estrutura de dados - Parte 1
Curso de Java - Estrutura de dados - Parte 1
CONHEÇA O CURSO

E se quisermos remover elementos?

Como vimos acima, as pilhas seguem o padrão chamado LIFO (Last In First Out), onde o último elemento a entrar será o primeiro elemento a sair. Desta forma, o nosso último elemento inserido foi o “Carro azul”, este será o primeiro elemento a ser retirado.

inserindo um elemento em uma pilha

Após a retirada do nosso “Carro azul”, a pilha ficará da seguinte forma:

inserindo um elemento em uma pilha

O último nó da pilha agora será o “Carro amarelo”, e caso o mesmo tenha que ser retirado, o último da pilha será o “Carro rosa” e assim sucessivamente. Desta forma, o primeiro elemento inserido (Carro preto), também será o último a deixar a pilha de carros. À esta funcionalidade de remoção de elementos damos o nome de pop.

Deixe seu comentário

Graduanda em Sistemas de Informação pelo Instituto Federal da Bahia. É responsável pelo atendimento ao cliente, gerenciamento de redes sociais e revisão de cursos, além da redação de artigos para o blog da TreinaWeb.

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200