Top Banner
# Estrutura de Dados # Aula 10 - Listas Circulares e Lista com Nó Descritor Prof. Leinylson Fontinele Pereira
88

Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Apr 16, 2017

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

# Estrutura de Dados #Aula 10 - Listas Circulares e

Lista com Nó DescritorProf. Leinylson Fontinele Pereira

Page 2: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Na aula anterior...

Aula de Revisão de C

Ponteiros

Funções

etc

16:37 Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 3: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

O que vamos aprender?

Listas Estáticas Sequencial# Propriedades

# Operações fundamentais

16:37 Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 4: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Vamos começar?

16:37 4 Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 5: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista Circular

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 6: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Listas Circulares

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

São listas encadeadas cujo fim aponta para o seu início, formando um círculo quepermite uma trajetória contínua na lista. Podem ser:

Singularmente encadeadas

Duplamente encadeadas

Page 7: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista Circular Simplesmente Encadeada

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Possui a mesma estrutura de uma lista simplesmente encadeada

Porem o último item da lista aponta para o primeiro item da lista

A estrutura de um nó de uma lista circular permanece a mesma.Dependerá apenas se o encadeamento da lista é duplo ou singular.

O que modifica é que não há mais necessidade de dois ponteiros paraindicar o início e o fim da lista.

Como evitar loops?

Basta marcar um nó da lista para evitar loops.

Page 8: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista com Nó Descritor

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Trata-se de uma variação da Lista Dinâmica

Pode ser usada em listas simples, duplamenteencadeada ou circular

Usa um nó especial chamado de descritor paraarmazenar diversas informações sobre a lista

Page 9: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista com Nó Descritor

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

O nó descritor substitui o ponteiro para ponteiroque indica o início da lista

Ele permite armazenar informações como:Ponteiro para o início da lista

Ponteiro para o final da lista

Tamanho da lista

Page 10: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista com Nó Descritor

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 11: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Concluindo...

16:37 11 Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 12: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Listas heterogêneas

16:37

A representação da informação por um ponteiropermite construir listas heterogêneas, isto é, listas emque as informações armazenadas diferem de nó para nó

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 13: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Listas heterogêneas

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 14: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Listas heterogêneas

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 15: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Listas heterogêneas

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 16: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista Homogênea de Objetos Heterogêneos

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 17: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista Homogênea de Objetos Heterogêneos

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 18: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Função para a criação de um nó

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 19: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Nesta aula aprendemos... Estrutura de dados lista é uma das mais

importantes e fundamentais.

Conceito chave da lista é a linearidade, podemos falar em primeiro, segundo ....

Pode ser codificada usando estruturas contíguas e encadeadas

Estruturas contíguas o tamanho é dado a priori.

16:37 Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 20: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Material: https://sites.google.com/site/leinylsonuespi

16:37

Material baseado nas aulas de:

Listas Encadeadas, Prof. Me. Claudio Benossi

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 21: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Na próxima aula veremos...

Listas Estáticas Sequenciais# Prática de laboratório

16:37 Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 22: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Alguma Dúvida?

16:37

Até a próxima aula...

[email protected]

Page 23: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Prática

16:37 23

As aulas práticas foram baseadas no material de

Linguagem C Descomplicada , Dr. André R. Backes.

Disponível em: https://programacaodescomplicada.wordpress.com/

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 24: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista Circular

16:37

ListaDinEncadCirc.h

Os protótipos das funções

O tipo de dado armazenado na lista

O ponteiro lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 25: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista Circular

16:37

ListaDinEncadCirc.c

O tipo de dados lista

Implementar as suas funções

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 26: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 26

Definindo a Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 27: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Definindo a Lista

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 28: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Definindo a Lista

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 29: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 29 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Criando a Lista

Page 30: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Criando a Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 31: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 31 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Destruindo a Lista

Page 32: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Destruindo a Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 33: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Destruindo a Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 34: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 34 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Obtendo o Tamanho

Page 35: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Obtendo o Tamanho da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 36: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Obtendo o Tamanho da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 37: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 37 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Lista Cheia?

Page 38: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Verificando se a Lista está Cheia

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 39: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 39 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Lista Vazia?

Page 40: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Verificando se a Lista está Vazia

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 41: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 41 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Inserção na Lista

Page 42: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo numa Lista Vazia

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 43: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 43 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Inserindo no Início

Page 44: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo Elementos no Início da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 45: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo Elementos no Início da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 46: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 46 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Inserindo no Final

Page 47: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo Elementos no Final da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 48: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo Elementos no Final da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 49: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 49 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Inserindo no Meio

Page 50: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo Elementos de Forma Ordenada da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 51: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo Elementos de Forma Ordenada da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 52: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 52 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Remoção na Lista

Page 53: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo de uma Lista Vazia

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 54: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 54 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Removendo do Início

Page 55: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo Elementos do Início da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 56: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo Elementos do Início da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 57: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 57 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Removendo do Final

Page 58: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo Elementos do Final da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 59: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo Elementos do Final da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 60: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 60 Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Removendo do Meio

Page 61: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo Elementos do Meio da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 62: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo Elementos do Meio da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 63: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo Elementos do Meio da Lista

16:37Estrutura de Dados: Aula 04 - Lista Estática Sequencial

Page 64: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista Dinâmica com Descritor

16:37

ListaDinEncadDesc.h

Os protótipos das funções

O tipo de dado armazenado na lista

O ponteiro lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 65: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Lista Dinâmica com Descritor

16:37

ListaDinEncadDesc.c

O tipo de dados lista

O tipo de dados descritor

Implementar as suas funções

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 66: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 70

Definindo a Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 67: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Definindo a Lista

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 68: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 72

Criando a Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 69: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Criando a Lista

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 70: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 74

Destruindo a Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 71: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Destruindo a Lista

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 72: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 76

Tamanho da Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 73: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Tamanho da Lista

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 74: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 78

Inserindo da Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 75: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo na Lista Vazia

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 76: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 80

Inserindo no Início da Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 77: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo no Início

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 78: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo no Início

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 79: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 83

Inserindo no Final da Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 80: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo no Final

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 81: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Inserindo no Final

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 82: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 86

Removendo da Lista

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 83: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo da Lista Vazia

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 84: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 88

Removendo do Início

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 85: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo do Início

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 86: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo do Início

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 87: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

16:37 91

Removendo do Final

Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor

Page 88: Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor

Removendo do Final

16:37Estrutura de Dados: Aula 10 - Listas Circulares e Lista com Nó Descritor