09 Pilha(Stack)

Embed Size (px)

Citation preview

  • 7/25/2019 09 Pilha(Stack)

    1/11

    Introduo aLinguagem de Programao C++

    Pilhas (STACK)

    Prof. Cristiano Agosti

    [email protected]

    http://agosti.blog.br

    Skpe: cristiano.agosti

    T!itter: agosti

    mailto:[email protected]://agosti.blog.br/http://agosti.blog.br/mailto:[email protected]
  • 7/25/2019 09 Pilha(Stack)

    2/11

    Pilhas

    Pilha " u# tipo de lista onde todas asopera$%es de inser$&o e re#o$&o s&ofeitas na #es#a e'tre#idade (Topo)

    pri#eiro a entrar " o lti#o a sair e olti#o a entrar o pri#eiro a sair (*+, -*ast+n ,irstut)

    Tratase de u#a estrutura din#ica(pode au#entar ou di#inuir durante ae'ist0ncia)

  • 7/25/2019 09 Pilha(Stack)

    3/11

    Pilhas

  • 7/25/2019 09 Pilha(Stack)

    4/11

    Pilhas

  • 7/25/2019 09 Pilha(Stack)

    5/11

    Pilhas

    Suporta tr0s opera$%es b1sicas: Top (topo) - acessa o ele#ento do topo.

    Push (e#pure) - insere u# ele#ento no

    topo. Pop (salte) - re#o2e u# ele#ento do

    topo.

  • 7/25/2019 09 Pilha(Stack)

    6/11

    Declarao

    3include 4stack5 using na#espace std6

    stack4tipo7de7dado5 #inha7pilha6

  • 7/25/2019 09 Pilha(Stack)

    7/11

    Funes para pilhas

    push(2alor): adiciona no topo top(): recupera o ele#ento do topo

    pop() : re#o2e o ele#ento do topo

    si8e(): recupera o ta#anho da pilha

    e#pt(): 2erifica se est1 2a8ia

    bs.: antes do co#ando aci#a colocar ono#e da 2ari12el do tipo stack precedidode . 9ponto

  • 7/25/2019 09 Pilha(Stack)

    8/11

    Exemplo com pilha

    Criar u#a rotina para ar#a8enar e# u#apilha 21rias pala2ras

    ;ostrar o ta#anho da pilha atual

  • 7/25/2019 09 Pilha(Stack)

    9/11

  • 7/25/2019 09 Pilha(Stack)

    10/11

    Stack e unes

    Alterar o proble#a anterior para =ue asopera$%es de push e pop se>a# feitas e#fun$%es co# os prot?tipos abai'o:

    ,un$&o : stack4string5 le()6

    ,un$&o : 2oid i#pri#e(stack4string5 p)6

  • 7/25/2019 09 Pilha(Stack)

    11/11