Buscar

Aula - lista encadeada

Prévia do material em texto

Alocação Dinâmica 
Lista Encadeada 
Alocação Dinâmica 
Revisão 
2 
Quando o tamanho da memória é alocada em tempo de 
execução. 
 
Útil quando não se sabe o tamanho a ser utilizado, ou seja, a 
quantidade de dados inseridos na execução do programa. 
Alocação dinâmica aloca bytes e 
atribui seu endereço a um ponteiro. 
 
Nesse sentido se tem um vetor 
endereço onde começa o bloco 
de memória que foi reservado. 
Alocação Incorreta 
3 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
3 Professor: Emerson Maurício de Almeida Alves 
Erro. 
O vetor nome recebe a variável “qtd” como tamanho, entretanto 
a variável não possui tamanho fixo. Vai ter erro de execução. 
 
Alocação Correta 
4 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
4 Professor: Emerson Maurício de Almeida Alves 
Correto, uso do operador. 
Definição do ponteiro 
new é o operador responsável pela alocação dinâmica em C++. 
 
Operador new 
5 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
5 Professor: Emerson Maurício de Almeida Alves 
Aloca memória para ser utilizada pelo software. 
Operador new 
6 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
6 Professor: Emerson Maurício de Almeida Alves 
New: retorna o endereço inicial de onde o bloco de bytes foi reservado. 
Vetor e Alocação 
7 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
7 Professor: Emerson Maurício de Almeida Alves 
Uso: Porque o vetor proporciona uma faixa continua de endereço de 
memória. 
Conclusão: É Bom e é Ruim 
Tira a liberdade de alocação 
Lista Encadeada 
8 
É uma lista em que a célula (elemento) possui o endereço da célula seguinte. 
Fonte: IME -USP 
conteúdo próx 
Célula 
Uma célula sabe o endereço da outra. 
CONCLUSÃO 
Lista Encadeada 
9 
É uma lista em que a célula (elemento) possui o endereço da célula seguinte. 
conteúdo próx 
Célula 
Uma célula sabe o endereço da outra. 
Implementação C++ 
10 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
10 Professor: Emerson Maurício de Almeida Alves 
Célula (definida na Struct) 
conteúdo próx 
Célula 
Guarda o endereço da próxima célula 
Guarda o elemento da lista 
Implementação C++ 
11 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
11 Professor: Emerson Maurício de Almeida Alves 
Criar Lista 
Ponteiro para struct “celula” 
Não tem próximo, esse é mais novo. 
Endereço prox é nulo! 
Aloca memória no sistema operacional 
Retorna o endereço do primeiro elemento da lista 
Criação de Listas 
12 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
12 Professor: Emerson Maurício de Almeida Alves 
Chamada da função no programa principal (main) 
1 – Lista para a turma do 2 período 
2 – Lista para a turma do 6 período 
 
Implementação C++ 
13 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
13 Professor: Emerson Maurício de Almeida Alves 
Inserir novo conteúdo 
Qual problema teremos aqui? 
Implementação C++ 
14 
INSTITUTO FEDERAL 
MINAS GERAIS 
Campus BambuÍ 
14 Professor: Emerson Maurício de Almeida Alves 
Inserir novo conteúdo 
Qual problema teremos aqui? 
Proponha a solução!

Continue navegando