Documente Academic
Documente Profesional
Documente Cultură
EA 876
Prof. Marco Aurlio A. Henriques
DCA/FEEC/UNICAMP
2007
vector
deque
list
conjuntos
mapas
Usos em C++:
Usos em C++:
#include <list>;
#include <string>;
list <string> alunos;
Usos em C++:
#include <set>
Usos em C++:
#include <map>
#include <string>
operador [ ]:
estoque[caneta] = 21;
int quantidade = estoque[caneta];
Alocao de elementos
Alocao contgua
Alocao no-contgua
Usos em C++:
Strings em C++
#include <string>
string
nao_tenho_nada;
string
string
atencao(alerta);
string
Ex:
Obteno de um elemento:
sobrecarga do operador [ ]:
char sexta_letra = pessoa[5]
Listas ligadas
Criao de um n: CREATE_NODE(dado)
Remoo de um n: DELETE_NODE(n)
Filas (queues)
INSERT(lista, n) e REMOVE_LAST(lista) ou
APPEND(lista, n) e REMOVE_FIRST(lista)
Pilhas (stacks)
rvores
N antecessor : n pai
N sucessor : n filho
rvore binria
Pr-ordem
Intra-ordem
Ps-ordem
Tabelas
Tabelas: implementao
Exemplo de implementao em C
#define TAM_TABELA 1560
typedef struct {
unsigned int chave;
char nome[40];
} entrada;
typedef struct {
int n;
endrada elem[TAM_TABELA];
} Tabela;
Tabela cadastro;
Tabela Hash
F(x) = x mod 10
0 => 10, 0, 120, 50
1 => 71, 21, 1, 11
2 => 52, 912, 2, 32
...
9 => 109, 19, 89, 9
Meio do quadrado:
Resto da diviso:
Ordenao
Bubble Sort
Quick Sort
Heap Sort
Radix Sort
Bubble Sort
Quick Sort