A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Listas Encadeadas Raquel O. Prates, Luiz Chaimowicz, Jussara Almeida Algoritmos e Estruturas de Dados II DCC – UFMG.

Apresentações semelhantes


Apresentação em tema: "1 Listas Encadeadas Raquel O. Prates, Luiz Chaimowicz, Jussara Almeida Algoritmos e Estruturas de Dados II DCC – UFMG."— Transcrição da apresentação:

1 1 Listas Encadeadas Raquel O. Prates, Luiz Chaimowicz, Jussara Almeida Algoritmos e Estruturas de Dados II DCC – UFMG

2 © R. O. Prates Algoritmos e Estrutura de Dados II Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento guarda quem é o próximo Elementos não estão contíguos na memória info prox info NULL info NULL info NULL prox

3 © R. O. Prates Algoritmos e Estrutura de Dados II Sobre os Elementos da Lista Elemento: guarda as informações sobre cada elemento. Para isso define-se cada elemento como uma estrutura que possui: campos de informações ponteiro para o próximo elemento info prox

4 © R. O. Prates Algoritmos e Estrutura de Dados II Sobre a Lista Uma lista é definida como um apontador para a primeira célula Uma lista pode ter uma célula cabeça info prox info prox info NULL Uma lista pode ter um apontador para o último elemento Último Primeiro

5 © R. O. Prates Algoritmos e Estrutura de Dados II Implementação em C typedef int TipoChave; typedef struct { TipoChave Chave; /* outros componentes */ } TipoItem; typedef struct Celula_str *Apontador; typedef struct Celula_str { TipoItem Item; Apontador Prox; } Celula; typedef struct { Apontador Primeiro, Ultimo; } TipoLista;

6 © R. O. Prates Algoritmos e Estrutura de Dados II Cria Lista Vazia NULL Cabeça Último Primeiro void FLVazia(TipoLista *Lista) { Lista->Primeiro = (Apontador) malloc(sizeof(Celula)); Lista->Ultimo = Lista->Primeiro; Lista->Primeiro->Prox = NULL; } int Vazia(TipoLista Lista) { return (Lista.Primeiro == Lista.Ultimo); }

7 © R. O. Prates Algoritmos e Estrutura de Dados II Inserção de Elementos na Lista info prox info prox info NULL Último 3 opções de posição onde pode inserir: 1ª. posição última posição Após um elemento qualquer E Primeiro

8 © R. O. Prates Algoritmos e Estrutura de Dados II Inserção na Primeira Posição info prox info prox info NULL Último info NULL prox Primeiro Novo

9 © R. O. Prates Algoritmos e Estrutura de Dados II Inserção na Última Posição info prox info prox info NULL Último info NULL prox Primeiro Novo

10 © R. O. Prates Algoritmos e Estrutura de Dados II Inserção na Após o Elemento E prox info prox info NULL Último info NULL prox Elem E info prox Primeiro Novo

11 © R. O. Prates Algoritmos e Estrutura de Dados II Inserção de Elementos na Lista Na verdade, as 3 opções de inserção são equivalentes a inserir após uma célula apontada por p 1ª. posição (p é a célula cabeça) Última posição (p é o último) Após um elemento qualquer E (p aponta para E)

12 © R. O. Prates Algoritmos e Estrutura de Dados II Retirada de Elementos na Lista info prox info prox info NULL Último 3 opções de posição de onde pode retirar: 1ª. posição última posição Um elemento qualquer E

13 © R. O. Prates Algoritmos e Estrutura de Dados II Retirada do Elemento na Primeira Posição da Lista info prox info prox info NULL Último Primeiro Temp

14 © R. O. Prates Algoritmos e Estrutura de Dados II Retirada do Elemento E da Lista info prox info prox info NULL Último Elem E Anterior Primeiro

15 © R. O. Prates Algoritmos e Estrutura de Dados II Retirada do Último Elemento da Lista info prox info prox info NULL Último Anterior NULL Primeiro

16 © R. O. Prates Algoritmos e Estrutura de Dados II Exercícios Implemente uma função que, dada uma lista encadeada e uma determinada chave C, remove o elemento com essa chave Implemente uma função que remova todos os elementos de valor par de uma lista encadeada


Carregar ppt "1 Listas Encadeadas Raquel O. Prates, Luiz Chaimowicz, Jussara Almeida Algoritmos e Estruturas de Dados II DCC – UFMG."

Apresentações semelhantes


Anúncios Google