Baixe o app para aproveitar ainda mais
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!
Compartilhar