Lista Ligada
Estrutura de Dados II
Prof. Gale
Vantagens



Crescem (ou decrescem) à medida que
elementos são inseridos (ou removidos)
seqüência encadeada de elementos, chamados de
nós da lista
nó da lista é representado por dois campos:




a informação armazenada e
o ponteiro para o próximo elemento da lista
a lista é representada por um ponteiro para o
primeiro nó
o ponteiro do último elemento é NULL
Exemplo de Visualização
 é como se fosse um trem, com um campo INFO que contém uma ou mais
informações e um campo NEXT, que contém o endereço seguinte dentro da
estrutura.
Existem algumas informações relevantes relacionadas aos vagões,
tais como:
a) Tipo: (1) restaurante, (2) passageiros, (3) carga
b) Capacidade: toneladas, pessoas
c) Responsável: quem é o responsável pelo vagão
d) conexão: qual é o vagão seguinte?
Criação da Estrutura Tipo lista

Vamos criar uma lista que recebe um valor
inteiro:
Funções Relacionadas

Criação da Lista
 cria uma lista vazia, representada pelo ponteiro NULL
Funções Relacionadas

Inserção:


aloca memória para armazenar o elemento
encadeia o elemento na lista existente
Funções Relacionadas

Exemplo de Função de Inserção
Funções Relacionadas

Imprimir uma lista
Exemplo de Código
int main()
{
Lista* l, *novalista;
l=
l=
l=
l=
l=
l=
l=
l=
lst_cria();
lst_insere(l,23);
lst_insere(l,45);
lst_insere(l,12);
lst_insere(l,13);
lst_insere(l,43);
lst_insere(l,21);
lst_insere(l,78);
printf("Exibe a lista\n");
lst_imprime(l);
printf("\n\nPressione algo\n");
getch();
printf("\nSepara\n\n");
novalista = separa(l,43);
printf("\nNova Lista: \n");
lst_imprime(novalista);
printf("\nLista Anterior: \n");
lst_imprime(l);
}
getch();
return 0;
Funções Relacionadas

Verificar se uma lista não está vazia
Funções Relacionadas

Função de Busca
 recebe a informação referente ao elemento a pesquisar
 retorna o ponteiro do nó da lista que representa o elemento, ou NULL,
caso o elemento não seja encontrado na lista
Funções Relacionadas

Função para retirar um elemento da lista
• recebe como entrada a lista e o valor do elemento a retirar
• atualiza o valor da lista, se o elemento removido for o primeiro
• caso contrário, apenas remove o elemento da lista
Funções Relacionadas
Funções Relacionadas

Libera a lista
 destrói a lista, liberando todos os elementos alocados
Exemplo de Código
Funções Relacionadas

Inserção em Ordem
 função de inserção percorre os elementos da lista até
encontrar a posição correta para a inserção do novo
Funções Relacionadas
EXERCÍCIOS
Download

Lista Ligada