Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vitormiran

Lista duplamente encadeada

Recommended Posts

Boa noite pessoal, to com mtas duvidas sobre lista duplamente

encadeada, estou com um exercicio para amanhã =/ e não consigo nem

começar (praticamente isso).

 

O exercicio é o seguinte : "Suponha uma lista encadeada duplamente com

1 elemento inteiro (idade) e 1 elemento char (nome). Implementar uma

rotina para inserir dinâmicamente cada um e que a idade esteja em

ordem crescente.

João 20, Maria 22, José 21, Carlos 45, Pedro 15, Isabel 30"

 

Li bastante sobre o assunto, mais não consegui entender muita coisa,

bom, vou passar o codigo q eu fiz ateh agora:

-------------------------

struct nomes {char nome[20];

int idade;

struct nodo *anterior,*proximo;

}regs[6];

 

nomes *primeiro,*atual,*anterior,*proximo,*gravar;

 

int main() {

gravar = (nomes*)malloc(6*(sizeof(nomes)));

free(gravar);

getch();

 

}

 

------------------------

 

Bom pessoal, peço q se alguem saiba como fazer esse exercicio, ou pelo

menos me dar uma luz, q faça-o.

Desde já fico muito agradecido.

Abraços, Vitor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A lista duplamente encadeada tem a seguinte caracteristica:

 

NULL <- elemento 0 -> <- elemento 1 -> elemento 2 -> <- elemento 3 -> <- ... elemento n -> NULL

 

 

Esse é apenas um exemplo, voce pode ter uma lista circular.

 

Vou pegar o elemento 1 como exemplo:

Imagine que o elemento 1 é um dado do tipo struct nomes.

Portanto ele possui um nome, uma idade e dois ponteiros, que na verdade são ponteiros para outras estruturas.

O ponteiro anterior deve apontar para o elemento 0 e o ponteiro proximo deve apontar para o elemento 2.

 

Tente implementar esses conceitos e se tiver dúvida volte a postar.

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.