Pilhas: mudanças entre as edições
(→Pilhas) |
|||
Linha 1: | Linha 1: | ||
=Pilhas= | =Pilhas= | ||
Uma '''pilha''' é um conjunto ordenado de itens, na qual novos item podem ser inseridos ou extraídos a partir de seu '''topo''' <ref name="TENENBAUM">TENENBAUM, A. A.; LANGSAM, Y.; AUGENSTEIN, M.J. Estruturas de dados usando C, São Paulo: Makron Books, 1995.</ref>. | Uma '''pilha''' é um conjunto ordenado de itens, na qual novos item podem ser inseridos ou extraídos a partir de seu '''topo''' <ref name="TENENBAUM">TENENBAUM, A. A.; LANGSAM, Y.; AUGENSTEIN, M.J. Estruturas de dados usando C, capítulo 2: A Pilha, São Paulo: Makron Books, 1995.</ref>. | ||
[[Arquivo:Pilha.png]] | [[Arquivo:Pilha.png]] | ||
Linha 8: | Linha 8: | ||
Quando um novo item é inserido na pilha, ele passa a ocupar seu topo. Neste caso, o topo é deslocado para cima de modo a corresponder ao novo primeiro elemento. Quando um item é removido, o topo da pilha é deslocado para baixo, para apontar ao novo primeiro elemento. | Quando um novo item é inserido na pilha, ele passa a ocupar seu topo. Neste caso, o topo é deslocado para cima de modo a corresponder ao novo primeiro elemento. Quando um item é removido, o topo da pilha é deslocado para baixo, para apontar ao novo primeiro elemento. | ||
==Operações primitivas com pilhas== | ==Operações primitivas com pilhas <ref name="TENENBAUM"/>== | ||
As duas operações primitivas para lidar com pilhas são: | As duas operações primitivas para lidar com pilhas são: | ||
Linha 31: | Linha 31: | ||
i = stacktop(s); | i = stacktop(s); | ||
==Exemplo de aplicação de pilhas== | |||
Edição das 13h43min de 5 de agosto de 2014
Pilhas
Uma pilha é um conjunto ordenado de itens, na qual novos item podem ser inseridos ou extraídos a partir de seu topo [1].
Uma pilha é um objeto dinâmico, constantemente mutável a partir da inserção ou extração de itens, sempre a partir de seu topo.
Quando um novo item é inserido na pilha, ele passa a ocupar seu topo. Neste caso, o topo é deslocado para cima de modo a corresponder ao novo primeiro elemento. Quando um item é removido, o topo da pilha é deslocado para baixo, para apontar ao novo primeiro elemento.
Operações primitivas com pilhas [1]
As duas operações primitivas para lidar com pilhas são:
- push: Quando um elemento é inserido, ou empilhado, na pilha;
- pop: Quando um elemento é extraído, ou desempilhado, da pilha.
Considere uma pilha s e um item i, a função
push(s, i);
insere o item na pilha.
Por sua vez a função
i = pop(s);
extrai um item do topo da pilha.
Não existe um limite máximo para o número de item em uma pilha. Entretanto, se uma tiver um só elemento e ele for extraído, teremos a pilha vazia. Portanto, antes de utilizar o operador pop, precisamos verificar se a pilha não está vazia.
A operação
empty(s);
verifica se a pilha está vazia ou não.
Outra operação que pode ser utilizada é verificar o item do topo da pilha, sem extrai-lo
i = stacktop(s);
Exemplo de aplicação de pilhas
Referências
--Evandro.cantu (discussão) 16h49min de 17 de julho de 2014 (BRT)