Codigo de uma pilha (ed)

1364 palavras 6 páginas
Pilhas

Pilhas são listas onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo.

Pilha vazia

Insere(A)

Insere(B)

Retira(B)

Insre(C)

Retira(C)

Retira(A)

Definição

Dada uma pilha P=( a(1), a(2), ..., a(n) ), dizemos que a(1) é o elemento da base da pilha; a(n) é o elemento topo da pilha; e a(i+1) está acima de a(i).

Pilhas são também conhecidas como listas LIFO (Last In First Out).

Operações Associadas:

criar (P) - criar uma pilha P vazia

inserir (x, P) - insere x no topo de P (empilha): push(x,P)

vazia (P) - testa se P está vazia

topo (P) - acessa o elemento do topo da pilha (sem eliminar)

elimina (P) - elimina o elemento do topo de P (desempilha): pop(P)

Exemplo do Uso de Pilhas

Chamadas de procedimentos

Suponha a seguinte situação:

[pic]

Quando o procedimento A1 é executado, ele efetua uma chamada a A2, que deve carregar consigo o endereço de retorno e1. Ao término de A2, o processamento deve retornar ao A1, no devido endereço.

Situação idêntica ocorre em A2 e A3.

Assim, quando um procedimento termina, é o seu endereço de retorno que deve ser consultado. Portanto, há uma lista implícita de endereços (e0, e1, e2, e3) que deve ser manipulada como uma pilha pelo sistema, onde e0 é o endereço de retorno de A1.

No caso de processamento recursivo - por exemplo uma chamada a A2 dentro de A4 - o gerenciamento da lista como uma pilha resolve automaticamente a obtenção dos endereços de retorno na ordem apropriada (e0, e1, e2, e3, e4).

Implementação de Pilhas

Como lista Seqüencial ou Encadeada ?

No caso geral de listas ordenadas, a maior vantagem da alocação encadeada sobre a seqüencial - se a memória não for problema - é a eliminação de deslocamentos na inserção ou eliminação dos elementos. No caso das pilhas, essas operações de deslocamento não ocorrem.

Portanto, podemos

Relacionados

  • Manual de Referencia Linguagem LUA
    19539 palavras | 79 páginas
  • 252512493 Revista PROGRAMAR 47 Pdf
    18604 palavras | 75 páginas
  • sssss
    664 palavras | 3 páginas
  • Socialização de resultados parciais
    937 palavras | 4 páginas
  • Atps
    2490 palavras | 10 páginas
  • Atps Voebem
    2604 palavras | 11 páginas
  • Wellington.simiao
    2507 palavras | 11 páginas
  • Arvore de ativação e pilha de ativação
    840 palavras | 4 páginas
  • atps estrtura de dados
    2626 palavras | 11 páginas
  • Compiladores
    3384 palavras | 14 páginas