Stack
Tipos Abstractos de Dados (ADT)
Estruturas construídas para armazenar determinados tipos de dados e que especificam operações que permitem a manipulação desses dados. Estudaremos duas das mais simples que se encontram entre as estruturas mais importantes: Pilha (stack) Fila (queue) Veremos a definição destas ADTs de uma forma geral e daremos duas alternativas para implementação : Array e Lista Ligada
Ano Lectivo 2009/2010 Tópicos das aulas Teórico Práticas Dulce Mota /Helena Leitão 1
Paradigmas de Programação
PILHA
(STACK):
Contentor de objectos em que o processo de inserção e remoção de elementos é feito de acordo com o princípio “last-infirst-out” (LIFO) Em qualquer ocasião pode ser inserido um novo objecto e será colocado na estrutura de modo que quando for necessário retirar um elemento, sairá o último que foi inserido. (Analogia: pilha de pratos) Aplicações: •Armazenamento dos endereços visitados num navegador web •Mecanismo “undo” dos editores de texto •Recursividade .... ....
Ano Lectivo 2009/2010 Tópicos das aulas Teórico Práticas Dulce Mota /Helena Leitão 2
Paradigmas de Programação
PILHA
(STACK):
Operações : push(obj) - Inserir objecto obj no topo da pilha pop() - Remover objecto do topo da pilha top() - Consultar objecto do topo da pilha (sem o remover) isEmpty() - Verificar se a pilha está vazia size() - Devolve o número de objectos na pilha Nota: a pilha só tem um acesso, quer para remover objectos quer para inserir objectos.
Ano Lectivo 2009/2010 Tópicos das aulas Teórico Práticas Dulce Mota /Helena Leitão 3
Paradigmas de Programação
PILHA
--- Implementação em Java usando arrays
Ano Lectivo 2009/2010
Tópicos das aulas Teórico Práticas Dulce Mota /Helena Leitão
4
Paradigmas de Programação
PILHA
--- Implementação em Java usando arrays
public class StackArray { private static final int CAPACIDADE=1000; //dimensão do array por omissão private int capacidade; private int