Fale com a gente no WhatsApp Fale com a gente no WhatsApp
Fale com a gente no WhatsApp

Contagem Regressiva 2024

A ÚLTIMA OFERTA DO ANO

Algoritmos

O que é e como funciona a Estrutura de Dados Pilha

Veja neste artigo o que é e como funciona a Estrutura de Dados Pilha.

há 4 anos 1 mês

Formação Base para desenvolvedor
Conheça a formação em detalhes

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 Python - Estrutura de dados - Parte 1
Conhecer 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 Java - Estrutura de dados - Parte 1
Conhecer 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.

Autor(a) do artigo

Ana Paula de Andrade
Ana Paula de Andrade

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.

Todos os artigos

Artigos relacionados Ver todos