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