SlideShare uma empresa Scribd logo
1 de 16
1
Lista Encadeada Circular
Lista Duplamente Encadeada
2
Relembrando listas
encadeadas
 Um nó em uma Lista Encadeada possui
basicamente dois itens:
– ponteiro para o próximo
– informação armazenada
 Caso a informação não seja um dado simples:
criar vários campos, um para cada informação
Ex.: código, preço e quantidade de um produto
3
Relembrando listas
encadeadas
typedef struct tp_no {
int cod;
float preco;
int quant;
struct tp_no *prox;
} TPLISTA;
TPLISTA *lista;
...
lista->cod=1;
lista->preco=10.5;
lista->quant=20;
4
Listas Circulares
 O último elemento tem como próximo o
primeiro elemento da lista, formando um ciclo
 Útil quando:
– a busca é feita a partir de qualquer elemento
– não há ordenação na lista
 A rigor não existe "primeiro" ou "último"
 Ainda é necessário que exista um ponteiro
para algum elemento, para a localização da
lista
– por convenção, referência do primeiro ou do último
lista
4 1 8 5
5
Listagem
void listagem (tplista *t) {
tplista *p=t;
if (t!=NULL)
do {
printf("Info: %d", p->info);
p=p->prox;
} while (p!=t);
else
printf("Lista Circular vazia!");
}
6
Lista Circular
Inserção?
Remoção?
7
Lista Duplamente Encadeada
 Útil quando é preciso percorrer a lista na
ordem inversa
 Remoção de um elemento não precisa
guardar anterior
 Remoção de um elemento cujo ponteiro é
informado não precisar percorrer a fila toda
 Um conjunto maior de ligações precisam ser
atualizadas
8
 Cada nó possui dois ponteiros: um para o
elemento anterior e outro para o próximo
elemento (ant e prox)
proxant
a b c d
lista
Lista Duplamente Encadeada
9
Listas Duplamente Encadeada
typedef int tpitem;
typedef struct tp_no {
tpitem info;
struct tp_no *ant;
struct tp_no *prox;
} tplista;
tplista *lista;
10
Busca e Listagem
Busca e Listagem:
Código igual ao que é utilizado para a
Lista Simplesmente Encadeada
11
Inserção no Início
b e h
lista
a
 O novo elemento é encadeado no início da lista
 O seu próximo passa a ser o antigo primeiro
elemento e o seu anterior é NULL
– Se a lista não estiver vazia, o anterior do o antigo
primeiro passa a ser o novo elemento
 O ponteiro da lista é passado por referência e
atualizado para apontar para o novo nó
 A função retornar 1 ou zero indicando o sucesso
da inclusão
12
Inserção
int insere(tplista **t, tpitem e){
tplista *novo;
novo = aloca();
if (!novo)
return 0;
novo->info = e;
novo -> ant = NULL;
novo -> prox = *t;
if ((*t) != NULL)
(*t) -> ant = novo;
*t = novo;
return 1;
}
13
Remoção
 A remoção é mais trabalhosa, pois é preciso
acertar a cadeia nos dois sentidos
 Em compensação, pode-se retirar um
elemento conhecendo-se apenas o ponteiro
para ele
 Utiliza-se uma função de busca para localizar
o elemento e em seguida o encadeamento é
ajustado
 Ao final, o elemento é liberado
14
Remoção
 Sendo p o ponteiro para o elemento a ser
excluído, se o elemento estiver no meio da lista,
devemos fazer:
p->ant->prox = p->prox;
p->prox->ant = p->ant;
 Caso o elemento esteja em um extremo da lista,
existem outras condições:
– se p for o primeiro, não se pode referenciar p->ant,
pois ele é NULL; o mesmo acontece para p->prox
quando é o último
– além disso, se for o primeiro, é preciso atualizar o
ponteiro da lista
15
Remoção
e h
lista
a b
e h
lista
a b
p
p
17
 Cada nó possui dois ponteiros: um para o
elemento anterior e outro para o próximo
elemento (ant e prox)
 O anterior do primeiro é o último e o próximo do
último é o primeiro
a b c d
lista
Lista Duplamente Encadeada e
Circular

Mais conteúdo relacionado

Mais procurados

Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
Encontrar o MAIOR e o MENOR elemento da Lista Encadeada
Encontrar o MAIOR e o MENOR elemento da Lista EncadeadaEncontrar o MAIOR e o MENOR elemento da Lista Encadeada
Encontrar o MAIOR e o MENOR elemento da Lista EncadeadaElaine Cecília Gatto
 
Priority queue in DSA
Priority queue in DSAPriority queue in DSA
Priority queue in DSAjunnubabu
 
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Leinylson Fontinele
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Leinylson Fontinele
 
Estrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasEstrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasLeinylson Fontinele
 
Link list presentation slide(Daffodil international university)
Link list presentation slide(Daffodil international university)Link list presentation slide(Daffodil international university)
Link list presentation slide(Daffodil international university)shah alom
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Classification of datastructure.ppt
Classification of datastructure.pptClassification of datastructure.ppt
Classification of datastructure.pptLakshmiSamivel
 

Mais procurados (20)

Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Single linked list
Single linked listSingle linked list
Single linked list
 
Encontrar o MAIOR e o MENOR elemento da Lista Encadeada
Encontrar o MAIOR e o MENOR elemento da Lista EncadeadaEncontrar o MAIOR e o MENOR elemento da Lista Encadeada
Encontrar o MAIOR e o MENOR elemento da Lista Encadeada
 
Priority queue in DSA
Priority queue in DSAPriority queue in DSA
Priority queue in DSA
 
Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)Estrutura de Dados Apoio (Tabela Hash)
Estrutura de Dados Apoio (Tabela Hash)
 
Stack and Queue
Stack and Queue Stack and Queue
Stack and Queue
 
Unit 4 queue
Unit   4 queueUnit   4 queue
Unit 4 queue
 
Queue in Data Structure
Queue in Data StructureQueue in Data Structure
Queue in Data Structure
 
Filas
FilasFilas
Filas
 
Stack project
Stack projectStack project
Stack project
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
 
Data structure Stack
Data structure StackData structure Stack
Data structure Stack
 
Estrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasEstrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas Estáticas
 
Selection Sort
Selection SortSelection Sort
Selection Sort
 
Circular Queue data structure
Circular Queue data structureCircular Queue data structure
Circular Queue data structure
 
Estrutura de dados - Pilhas
Estrutura de dados - PilhasEstrutura de dados - Pilhas
Estrutura de dados - Pilhas
 
Link list presentation slide(Daffodil international university)
Link list presentation slide(Daffodil international university)Link list presentation slide(Daffodil international university)
Link list presentation slide(Daffodil international university)
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Classification of datastructure.ppt
Classification of datastructure.pptClassification of datastructure.ppt
Classification of datastructure.ppt
 
Binary tree traversal ppt - 02.03.2020
Binary tree traversal   ppt - 02.03.2020Binary tree traversal   ppt - 02.03.2020
Binary tree traversal ppt - 02.03.2020
 

Destaque

Ringkasan dan jurnal penelitian penggunaan software open source
Ringkasan dan jurnal penelitian penggunaan software open sourceRingkasan dan jurnal penelitian penggunaan software open source
Ringkasan dan jurnal penelitian penggunaan software open sourceZaien Knight
 
The impact of the economy of Gibraltar on the Campo de Gibraltar area
The impact of the economy of Gibraltar on the Campo de Gibraltar areaThe impact of the economy of Gibraltar on the Campo de Gibraltar area
The impact of the economy of Gibraltar on the Campo de Gibraltar areagibraltarcc
 
BVC ICT Train Pres
BVC ICT Train PresBVC ICT Train Pres
BVC ICT Train Presmissgibbins
 
Carbon Footprint of the life cycle of batteries – A key parameter for the sus...
Carbon Footprint of the life cycle of batteries – A key parameter for the sus...Carbon Footprint of the life cycle of batteries – A key parameter for the sus...
Carbon Footprint of the life cycle of batteries – A key parameter for the sus...rsmahwar
 
What is Credit? An illustrated story.
What is Credit? An illustrated story.What is Credit? An illustrated story.
What is Credit? An illustrated story.creditexaminer
 
Gibraltar presentation- October 2016
Gibraltar presentation- October 2016Gibraltar presentation- October 2016
Gibraltar presentation- October 2016gibraltarcc
 
Penggunaan software open source di kalangan mahasiswa
Penggunaan software open source di kalangan mahasiswaPenggunaan software open source di kalangan mahasiswa
Penggunaan software open source di kalangan mahasiswaZaien Knight
 
ผู้หญิงทรงเอ กับผู้ชายทับแก้ว2
ผู้หญิงทรงเอ กับผู้ชายทับแก้ว2ผู้หญิงทรงเอ กับผู้ชายทับแก้ว2
ผู้หญิงทรงเอ กับผู้ชายทับแก้ว2Fon Fon'
 
Credit Scores Explained. A Slideshow
Credit Scores Explained. A SlideshowCredit Scores Explained. A Slideshow
Credit Scores Explained. A Slideshowcreditexaminer
 
Guia para fundamentación
Guia para fundamentaciónGuia para fundamentación
Guia para fundamentaciónEmilce Alsina
 

Destaque (20)

Ringkasan dan jurnal penelitian penggunaan software open source
Ringkasan dan jurnal penelitian penggunaan software open sourceRingkasan dan jurnal penelitian penggunaan software open source
Ringkasan dan jurnal penelitian penggunaan software open source
 
The impact of the economy of Gibraltar on the Campo de Gibraltar area
The impact of the economy of Gibraltar on the Campo de Gibraltar areaThe impact of the economy of Gibraltar on the Campo de Gibraltar area
The impact of the economy of Gibraltar on the Campo de Gibraltar area
 
What is it about
What is it aboutWhat is it about
What is it about
 
Texto 1 clase 2 inferencia
Texto 1 clase 2 inferenciaTexto 1 clase 2 inferencia
Texto 1 clase 2 inferencia
 
BVC ICT Train Pres
BVC ICT Train PresBVC ICT Train Pres
BVC ICT Train Pres
 
Causatives 2° modelo
Causatives 2° modeloCausatives 2° modelo
Causatives 2° modelo
 
Causatives 2° modelo
Causatives 2° modeloCausatives 2° modelo
Causatives 2° modelo
 
Carbon Footprint of the life cycle of batteries – A key parameter for the sus...
Carbon Footprint of the life cycle of batteries – A key parameter for the sus...Carbon Footprint of the life cycle of batteries – A key parameter for the sus...
Carbon Footprint of the life cycle of batteries – A key parameter for the sus...
 
Sickle cell
Sickle cellSickle cell
Sickle cell
 
What is Credit? An illustrated story.
What is Credit? An illustrated story.What is Credit? An illustrated story.
What is Credit? An illustrated story.
 
Gibraltar presentation- October 2016
Gibraltar presentation- October 2016Gibraltar presentation- October 2016
Gibraltar presentation- October 2016
 
Penggunaan software open source di kalangan mahasiswa
Penggunaan software open source di kalangan mahasiswaPenggunaan software open source di kalangan mahasiswa
Penggunaan software open source di kalangan mahasiswa
 
Presentación 2° noun clauses
Presentación 2° noun clausesPresentación 2° noun clauses
Presentación 2° noun clauses
 
Small rk sb1_pp49-62
Small rk sb1_pp49-62Small rk sb1_pp49-62
Small rk sb1_pp49-62
 
Causatives 2° modelo
Causatives 2° modeloCausatives 2° modelo
Causatives 2° modelo
 
Iprs
IprsIprs
Iprs
 
ผู้หญิงทรงเอ กับผู้ชายทับแก้ว2
ผู้หญิงทรงเอ กับผู้ชายทับแก้ว2ผู้หญิงทรงเอ กับผู้ชายทับแก้ว2
ผู้หญิงทรงเอ กับผู้ชายทับแก้ว2
 
Credit Scores Explained. A Slideshow
Credit Scores Explained. A SlideshowCredit Scores Explained. A Slideshow
Credit Scores Explained. A Slideshow
 
Guia para fundamentación
Guia para fundamentaciónGuia para fundamentación
Guia para fundamentación
 
Advertising campaign
Advertising campaignAdvertising campaign
Advertising campaign
 

Semelhante a Listas encadeadas: circular, duplamente encadeada

Semelhante a Listas encadeadas: circular, duplamente encadeada (9)

Listas em C
Listas em CListas em C
Listas em C
 
10 alocacao dinamica - listas ligadas
10   alocacao dinamica - listas ligadas10   alocacao dinamica - listas ligadas
10 alocacao dinamica - listas ligadas
 
Lpiii dp-apostila
Lpiii dp-apostilaLpiii dp-apostila
Lpiii dp-apostila
 
Aula 11
Aula 11Aula 11
Aula 11
 
Listas Estáticas Encadeadas usando linguagem C
Listas Estáticas Encadeadas usando linguagem CListas Estáticas Encadeadas usando linguagem C
Listas Estáticas Encadeadas usando linguagem C
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Array list
Array listArray list
Array list
 
Listas circulares ed
Listas circulares edListas circulares ed
Listas circulares ed
 
Estrutura de dados - Implementação de filas com listas
Estrutura de dados - Implementação de filas com listasEstrutura de dados - Implementação de filas com listas
Estrutura de dados - Implementação de filas com listas
 

Mais de Jailson Torquato

Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema OperacionaisJailson Torquato
 
Apostila de sistemas_operacionais
Apostila de sistemas_operacionaisApostila de sistemas_operacionais
Apostila de sistemas_operacionaisJailson Torquato
 
O modelo osi e suas 7 camadas
O modelo osi e suas 7 camadasO modelo osi e suas 7 camadas
O modelo osi e suas 7 camadasJailson Torquato
 

Mais de Jailson Torquato (6)

Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema Operacionais
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila de hardware
Apostila de hardwareApostila de hardware
Apostila de hardware
 
Apostila de sistemas_operacionais
Apostila de sistemas_operacionaisApostila de sistemas_operacionais
Apostila de sistemas_operacionais
 
O modelo osi e suas 7 camadas
O modelo osi e suas 7 camadasO modelo osi e suas 7 camadas
O modelo osi e suas 7 camadas
 

Último

Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfFernandaMota99
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxDianaSheila2
 

Último (20)

Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptx
 

Listas encadeadas: circular, duplamente encadeada

  • 1. 1 Lista Encadeada Circular Lista Duplamente Encadeada
  • 2. 2 Relembrando listas encadeadas  Um nó em uma Lista Encadeada possui basicamente dois itens: – ponteiro para o próximo – informação armazenada  Caso a informação não seja um dado simples: criar vários campos, um para cada informação Ex.: código, preço e quantidade de um produto
  • 3. 3 Relembrando listas encadeadas typedef struct tp_no { int cod; float preco; int quant; struct tp_no *prox; } TPLISTA; TPLISTA *lista; ... lista->cod=1; lista->preco=10.5; lista->quant=20;
  • 4. 4 Listas Circulares  O último elemento tem como próximo o primeiro elemento da lista, formando um ciclo  Útil quando: – a busca é feita a partir de qualquer elemento – não há ordenação na lista  A rigor não existe "primeiro" ou "último"  Ainda é necessário que exista um ponteiro para algum elemento, para a localização da lista – por convenção, referência do primeiro ou do último lista 4 1 8 5
  • 5. 5 Listagem void listagem (tplista *t) { tplista *p=t; if (t!=NULL) do { printf("Info: %d", p->info); p=p->prox; } while (p!=t); else printf("Lista Circular vazia!"); }
  • 7. 7 Lista Duplamente Encadeada  Útil quando é preciso percorrer a lista na ordem inversa  Remoção de um elemento não precisa guardar anterior  Remoção de um elemento cujo ponteiro é informado não precisar percorrer a fila toda  Um conjunto maior de ligações precisam ser atualizadas
  • 8. 8  Cada nó possui dois ponteiros: um para o elemento anterior e outro para o próximo elemento (ant e prox) proxant a b c d lista Lista Duplamente Encadeada
  • 9. 9 Listas Duplamente Encadeada typedef int tpitem; typedef struct tp_no { tpitem info; struct tp_no *ant; struct tp_no *prox; } tplista; tplista *lista;
  • 10. 10 Busca e Listagem Busca e Listagem: Código igual ao que é utilizado para a Lista Simplesmente Encadeada
  • 11. 11 Inserção no Início b e h lista a  O novo elemento é encadeado no início da lista  O seu próximo passa a ser o antigo primeiro elemento e o seu anterior é NULL – Se a lista não estiver vazia, o anterior do o antigo primeiro passa a ser o novo elemento  O ponteiro da lista é passado por referência e atualizado para apontar para o novo nó  A função retornar 1 ou zero indicando o sucesso da inclusão
  • 12. 12 Inserção int insere(tplista **t, tpitem e){ tplista *novo; novo = aloca(); if (!novo) return 0; novo->info = e; novo -> ant = NULL; novo -> prox = *t; if ((*t) != NULL) (*t) -> ant = novo; *t = novo; return 1; }
  • 13. 13 Remoção  A remoção é mais trabalhosa, pois é preciso acertar a cadeia nos dois sentidos  Em compensação, pode-se retirar um elemento conhecendo-se apenas o ponteiro para ele  Utiliza-se uma função de busca para localizar o elemento e em seguida o encadeamento é ajustado  Ao final, o elemento é liberado
  • 14. 14 Remoção  Sendo p o ponteiro para o elemento a ser excluído, se o elemento estiver no meio da lista, devemos fazer: p->ant->prox = p->prox; p->prox->ant = p->ant;  Caso o elemento esteja em um extremo da lista, existem outras condições: – se p for o primeiro, não se pode referenciar p->ant, pois ele é NULL; o mesmo acontece para p->prox quando é o último – além disso, se for o primeiro, é preciso atualizar o ponteiro da lista
  • 15. 15 Remoção e h lista a b e h lista a b p p
  • 16. 17  Cada nó possui dois ponteiros: um para o elemento anterior e outro para o próximo elemento (ant e prox)  O anterior do primeiro é o último e o próximo do último é o primeiro a b c d lista Lista Duplamente Encadeada e Circular