

Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Lista simplesmente encadeada
Tipologia: Notas de aula
1 / 2
Esta página não é visível na pré-visualização
Não perca as partes importantes!


1
2
Listas Sequenciais: Desvantagens :
Tamanho máximo pré-estimado
Movimentação quando um elemento é inserido ou removido
3
Listas Encadeadas
Possuem ponteiros que guardam o endereço do registro sucessor; Elementos são alocados dinamicamente;
Valores para ponteiros são gerados quando dados correspondentes a seus tipos são alocados/desalocados dinamicamente
4
Listas Encadeadas (cont.)
Fica a cargo do programa (via linguagem de programação), e não do programador, prover e fornecer espaço para inserções e eliminações em tempo de execução; A biblioteca do malloc() e free() estão disponíveis na biblioteca <alloc.h>.
Estrutura contendo os campos dado e prox; prox é um ponteiro para o próximo nodo da lista.
Listas Encadeadas (cont.)
Este fato não representa necessariamente mais memória utilizada, já que o espaço destinado para a informação pode ser melhor aproveitado (tamanho do nó não precisa ser fixo)
Não é mais necessário realizar movimentações dos elementos da lista (inserção/remoção)
x y z
a x y z
a
Características
Sinalização do final da lista.
Na sequencial, isto é feito de forma direta
Espaço para o nó não é alocado previamente Alocação pode ser feita com a memória fragmentada
2
2
7
Lista Linear Encadeada
Implementando listas em C
**p=q é diferente de p = q Dada a situação abaixo:
p p1 p
q q1 q
8
Lista Linear Encadeada
Se *p = *q, teremos:
Operações básicas com ponteiros
lista *l1;
l1 = (lista*) malloc(sizeof(lista));
9
Lista Linear Encadeada
Atribuição de conteúdo à estrutura:
Atribuição do valor nulo ao campo “ponteiro” do
registro:
Liberando um nodo
10
Lista Simplesmente Encadeada
Estrutura de Dados
Boa dica de programação:
Primar por um código que tenha indentação. Isso facilita o entendimento!
O que ele faz? O que uma função pode retornar? Qual o papel de cada argumento de uma função? O que você ganha com isso??? Organização e iniciação à documentação quando trabalharem com java (javadoc) É um trabalho cansativo, mas extremamente importante quando se desenvolve um software.