Material ED
Estrutura de Dados
DESCOMPLICADA
2
SUMÁRIO
1 Tipo Abstrato de Dados - TAD
9
1.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.1.1 Vantagens de usar um TAD . . . . . . . . . . . . . . . . . . . . .
10
1.1.2 O tipo FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.1.3 Tipo opaco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.1.4 Operações básicas de um TAD . . . . . . . . . . . . . . . . . . .
12
1.2 Modularizando o programa . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.3 Implementando um TAD: Ponto . . . . . . . . . . . . . . . . . . . . . . .
14
2 Listas
19
2.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.2 Tipos de Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.3 Operações básicas de uma lista . . . . . . . . . . . . . . . . . . . . . .
21
2.3.1 A operação de inserção na Lista . . . . . . . . . . . . . . . . . .
21
2.3.2 A operação de remoção da Lista . . . . . . . . . . . . . . . . . .
21
2.4 Lista Sequencial Estática . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.4.1 Definindo o tipo Lista Sequencial Estática . . . . . . . . . . . . .
23
2.4.2 Criando e destruindo uma Lista . . . . . . . . . . . . . . . . . . .
24
2.4.3 Informações básicas sobre a Lista . . . . . . . . . . . . . . . . .
26
2.4.3.1
Tamanho da Lista . . . . . . . . . . . . . . . . . . . . .
26
2.4.3.2
Lista Cheia . . . . . . . . . . . . . . . . . . . . . . . . .
27
2.4.3.3
Lista Vazia . . . . . . . . . . . . . . . . . . . . . . . . .
28
2.4.4 Inserindo um elemento na Lista . . . . . . . . . . . . . . . . . . .
29
2.4.4.1
Preparando a inserção na Lista . . . . . . . . . . . . .
29
2.4.4.2
Inserindo no início da Lista . . . . . . . . . . . . . . . .
30
2.4.4.3
Inserindo no final da Lista . . . . . . . . . . . . . . . . .
30
3
4
SUMÁRIO
2.4.4.4
Inserindo de forma ordenada