Академический Документы
Профессиональный Документы
Культура Документы
Ctia Vaz
Tipos Abstractos
Um tipo abstracto :
um tipo genrico de dados, dos quais no se conhece os valores uma interface que define os acessos e as operaes sobre os dados O conjunto das propriedades algbricas da interface, que delimitam as possveis implementaes.
Um programa que usa um tipo abstracto um cliente. O cliente no tem acesso implementao. Um programa que especifique o tipo de dados uma implementao.
Ctia Vaz
Pilha - Stack
Operaes abstractas:
inicializao; colocao de um elemento na pilha; remoo de um elemento (o ltimo colocado); LIFO indicar se pilha est vazia.
Ctia Vaz
Pilha - Stack
Operaes abstractas:
inicializao; colocao de um elemento na pilha; remoo de um elemento (o ltimo colocado); LIFO indicar se pilha est vazia.
Ctia Vaz
Ctia Vaz
Ctia Vaz
Ctia Vaz
10
Autoboxing
Implementao da pilha genrica:
Permite objectos, no tipos primitivos.
Tipo Wrapper:
Cada tipo primitivo tem um tipo de objecto wrapper ; Ex: Integer o tipo wrapper para int.
Ctia Vaz
12
Exerccio
Implemente uma aplicao que leia do standard input uma expresso aritmtica em notao posfixa e calcule o valor da expresso. Considere que:
a expresso apenas envolve os operadores binrios + e x; os operadores e operandos so delimitados por um espao. Exemplo:
598+46**7+* equivalente a: (5*(((9+8)*(4*6))+7)) isto , o seu valor 2075
Ctia Vaz
13
Fila-Queue
Operaes abstractas:
inicializao; colocao de um elemento na fila; remoo de um elemento (FIFO); indicar se fila est vazia.
Ctia Vaz
14
15
16
17
ADTs
ADTs permitem programao modular:
separam o programa em mdulos mais pequenos; clientes diferentes podem partilhar a mesma ADT.
19
20
21
22
Ctia Vaz
23
Iteradores
public interface Iterable<E> { public Iterator<E> iterator(); } public interface Iterator<E> { public boolean hasNext(); public E next(); public void remove(); }
Ctia Vaz
24
Ctia Vaz
25
Ctia Vaz
26
Ctia Vaz
27
Ctia Vaz
28
Ctia Vaz
29
30
31
32
Ctia Vaz
33
Ctia Vaz
34
Ctia Vaz
35
Ctia Vaz
36
Exerccio
Implementar o algoritmo merge sort para duas listas duplamente ligadas.
Ctia Vaz
39