(Parte 1 de 2)

Pilhas Pilhas

Sequenciais Sequenciais

Encadeadas Encadeadas

EstruturasdeDados EstruturasdeDados

Prof.AlexSandro alexscunha@yahoo.com.br

Pilhas(Stack)

Definição

Éumalistalinearondeasoperaçõesde inserçãoeretiradasãoefetuadasapenas nofinaldalistalinear

Propriedades

E1éoelementobasedapilha Enéoelementotopodapilha

Ainserçãodeumelementoxtorna-o últimodalistalinear

Aretiradaésemprefeitasobreoelemento An

Pilhas(Stack)

EstruturadotipoLIFO(lastin,firstout)

Exemplos:

Umaruasemsaídaeestreita,ondeapenasum carropassaporvez

Oúltimocarroaentrarseráoprimeiroasair Nãopodemosretirarqualquercarro

Nãopodemosinserirumcarrodetalformaqueelenãoseja oúltimo

Umapilhadepratosemumrestaurante

PilhadeexecuçãonalinguagemC

Variáveislocaissãoempilhadasnapilha Aotérminodafunção,asvariáveissãodesempilhadas

Avaliaçãodeexpressõesaritméticas

Pilhas(Stack) Ilustração

Implementação:sequencialeencadeada

Topo Base

PilhaSequencial

Oqueprecisaremosparaimplementaruma pilhasequencial?

Umvetordeelementos Umavariávelparacontrolarotopo

Representação

PilhaSequencial

Precisamos desclocaros elementosna inserçãoe remoção?

PilhaSequencial Animação:

Aplicação

Chamadadeprocedimentosefunçõesnaexecuçãode umprograma

Quandoumprocedimentotermina,seuendereçode retornoquedeveserconsultado

Nãoháproblemaparachamadasrecursivas(f1dentro def3)

PilhaSequencial

Operações

Criarumapilha;

Testarseapilhaestávazia;

Testarseapilhaestácheia;

Obteroelementodotopo(semeliminar);

Empilharumnovoelemento(push);

Desempilharoelementodotopo(pop). Exibiroselementosdapilha

Algoritmos

PilhaEncadeada

Implementaçãocomnósligadospormeiode ponteiros

Asoperaçõessoblistassimplesmente encadeadaspoderãosertomadascomo referência

Comopoderíamosadaptarumalista simplesmenteencadeadaparaumapilha?

Precisomodificarradicalmenteaformade programardeumalistaparaumapilha?

(Parte 1 de 2)

Comentários