Casos de uso
$
´ ESTRUTURAS DE DADOS BASICAS EM JAVA
Jos´ de Siqueira e UFMG - ICEx - DCC 1o semestre de 2005
&
%
'
Estruturas de Dados B´sicas em Java a
$
O Tipo Abstrato de Dados Pilha
• O TAD pilha tem quase as mesmas opera¸oes c˜ apresentadas anteriormente: 1. empilha(o): insere o objeto o no topo da pilha. ıda: nenhuma. Entrada: objeto. Sa´ 2. desempilha(): retira o objeto no topo da pilha e o roetorna; ocorre erro se a pilha estiver vazia. Entrada: nenhuma. Sa´ ıda: objeto. 3. tamanho(): retorna o n´mero de objetos na u pilha. Entrada: nenhuma. Sa´ ıda: inteiro. 4. vazia(): Retorna um booleano indicando se a pilha est´ vazia. a Entrada: nenhuma. Sa´ ıda: booleano. 5. topo(): Retorna o objeto no topo da pilha, a sem retir´-lo; ocorre um erro se a pilha estiver vazia. ıda: objeto. Entrada: nenhuma. Sa´
&
Jos´ de Siqueira e
1
%
'
Estruturas de Dados B´sicas em Java a
$
Uma interface para pilhas em Java
• Em Java, j´ existe a classe para o TAD pilha: a java.util.Stack. e ıveis nesta classe, entre outros, • Os m´todos dispon´ s˜o: push(obj), pop(), equivalentes a a empilha(o) e desempilha() e peek(), equivalente a topo(), tamanho() e vazia(). • Os m´todos pop() e peek() lan¸am a exce¸ao e c c˜ StackEmptyException se a pilha estiver vazia quando eles s˜o chamados. a a • Apesar de j´ existir esta classe em Java, aqui estamos interessados em aprender como projetar e implementar uma pilha e uma fila em Java. • A implementa¸ao de um TAD em Java envolve c˜ dois passos: 1. a defini¸ao de uma API (Application c˜ Programming Interface) que descreve os nomes dos m´todos que o TAD oferece, como e a a eles s˜o declarados e como s˜o usados. 2. uma ou mais implementa¸oes concretas dos c˜ m´todos descritos na interface (API) e associada com o TAD.
&
Jos´ de Siqueira e
2
%
'
Estruturas de Dados B´sicas em Java a
$
public interface Pilha { /* retorna o n´mero de itens na pilha */ u public int tamanho(); /* retorna true