TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Lista Duplamente Encadeada

Artigos Científicos: Lista Duplamente Encadeada. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  2/4/2014  •  592 Palavras (3 Páginas)  •  448 Visualizações

Página 1 de 3

lista duplamente encadeada

A lista duplamente encadeada possui maior facilidade de acesso aos nós da lista possibilitando uma maior manipulação das informações e da própria lista. Esse conceito utiliza os mesmos conceitos de listas vistos, porém a lista possui outro ponteiro que auxilia na busca das informações na lista.

struct no

{

struct no * esq;

int info;

struct no *dir;

}; typedef struct no lista

É necessário redefinir a estrutura do nó da lista com um novo ponteiro que irá apontar para o nó anterior e com isso interligará a lista em que pode obter uma busca tanto para direita da lista como para a esquerda da lista.

O nó duplamente encadeado possui a vantagem de auxiliar o programador nas implementações da lista em que agora tem uma maior facilidade de encontrar informações dentro da lista.

void cria_listadupla (Lista * * inicio, Lista * * fim)

{

*inicio = NULL;

*fim = NULL;

}

Na criação da lista continua com o conceito de lista encadeada em que os ponteiros “inicio” e “fim” permanecem com valores nulos para a que a lista possa ser iniciada.

Para inserir novos valores na lista duplamente encadeada é necessário que os ponteiros que apontam para o próximo nó e para o anterior estejam devidamente programados para que a lista não possua ponteiros inutilizados com a inserção de novos nós.

void ins_inicio (Lista * * inicio, Lista * * fim, int v)

{

Lista * p;

p = (Lista * ) calloc (1, sizeof (Lista));

p-> info = v;

p-> esq = NULL;

p-> dir = *inicio;

if (*inicio = = NULL)

*fim = p;

else

(*inicio)-> esq = p;

*Inicio =p;

}

Esse método de inserção de valores insere novos valores no inicio da lista em que agora é preciso que o novo ponteiro que aponta para o nó anterior precisa ser definido. O ponteiro “p” que aponta “esq” recebe um valor nulo, pois caracteriza como o inicio da lista e não possui outros valores anteriores ao primeiro nó.

No caso de inserir novos valores o método verifica se a lista já possui algum nó na lista, caso não exista o nó a ser inserido é o primeiro e os ponteiros “inicio” e “fim” estarão no primeiro nó, porém caso já exista algum nó na lista o ponteiro “esq” irá apontar para o nó anterior que está sendo inserido na lista o ponteiro “inicio” auxilia a definir o nó como primeiro e novo nó pode ser acoplado à lista.

void

...

Baixar como (para membros premium)  txt (3.6 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com