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

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

ALGORITMOS E ESTRUTURAS DE DADOS Bruno Silva. Algoritmos e Estrutura de Dados I Listas Encadeadas Características: – Tamanho da lista não é pré-definido.

Apresentações semelhantes


Apresentação em tema: "ALGORITMOS E ESTRUTURAS DE DADOS Bruno Silva. Algoritmos e Estrutura de Dados I Listas Encadeadas Características: – Tamanho da lista não é pré-definido."— Transcrição da apresentação:

1 ALGORITMOS E ESTRUTURAS DE DADOS Bruno Silva

2 Algoritmos e Estrutura de Dados I 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 Algoritmos e Estrutura de Dados I 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 Algoritmos e Estrutura de Dados I Sobre a Lista 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

5 Algoritmos e Estrutura de Dados I Cria Lista Vazia NULL Cabeça Último

6 Algoritmos e Estrutura de Dados I 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

7 Algoritmos e Estrutura de Dados I Inserção na Primeira Posição info prox info prox info NULL Último info NULL prox

8 Algoritmos e Estrutura de Dados I Inserção na Última Posição info prox info prox info NULL Último info NULL prox

9 Algoritmos e Estrutura de Dados I Inserção Após o Elemento E prox info prox info NULL Último info NULL prox Elem E info prox

10 Algoritmos e Estrutura de Dados I 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

11 Algoritmos e Estrutura de Dados I Retirada do Elemento na Primeira Posição da Lista info prox info prox info NULL Último

12 Algoritmos e Estrutura de Dados I Retirada do Elemento E da Lista info prox info prox info NULL Último Elem E Anterior

13 Algoritmos e Estrutura de Dados I Retirada do Último Elemento da Lista info prox info prox info NULL Último Anterior NULL

14 Algoritmos e Estrutura de Dados I Estrutura da Lista Usando Apontadores typedef int TipoChave; typedef struct { int Chave; /* outros componentes */ } TipoItem; typedef struct Celula_str *Apontador; typedef struct Celula_str { TipoItem Item; Apontador Prox; } Celula; typedef struct { Apontador Primeiro; Apontador Ultimo; } TipoLista;

15 Algoritmos e Estrutura de Dados I Operações sobre Lista Usando Apontadores void IniciaVazia(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); } void Insere(TipoItem x, TipoLista *Lista) { Lista->Ultimo->Prox = (Apontador) malloc(sizeof(Celula)); Lista->Ultimo = Lista->Ultimo->Prox; Lista->Ultimo->Item = x; Lista->Ultimo->Prox = NULL; }

16 Algoritmos e Estrutura de Dados I Operações sobre Lista Usando Apontadores void Imprime(TipoLista Lista) { Apontador Aux; Aux = Lista.Primeiro->Prox; while (Aux != NULL) { printf("%d\n", Aux->Item.Chave); Aux = Aux->Prox; }

17 Algoritmos e Estrutura de Dados I Operações sobre Lista Usando Apontadores Vantagens: Permite inserir ou retirar itens do meio da lista a um custo constante (importante quando a lista tem de ser mantida em ordem). Bom para aplicações em que não existe previsão sobre o crescimento da lista (o tamanho máximo da lista não precisa ser definido a priori). Desvantagem: Utilização de memória extra para armazenar os apontadores.


Carregar ppt "ALGORITMOS E ESTRUTURAS DE DADOS Bruno Silva. Algoritmos e Estrutura de Dados I Listas Encadeadas Características: – Tamanho da lista não é pré-definido."

Apresentações semelhantes


Anúncios Google