A2 TADS4 Estrutura De Dados Teleaula 5 Tema 5 Impressao
1198 palavras
5 páginas
10/09/2014Estrutura de Dados
Tema 5: Listas.
O que é uma lista dinâmica
Um conjunto de itens dispostos linearmente, onde a inserção e a remoção de itens podem acontecer em qualquer ponto.
10C54
D
início
E
79C32
NULL
10C54
79C32
Características dinâmica básicas de uma lista
Possui um ponteiro externo que indica o primeiro elemento da lista;
Cada elemento da lista contém os dados necessários (número, letra, nome, cadastros, etc) e um ponteiro que indica a localização do próximo elemento;
Não há limitação para a quantidade de elementos;
1
10/09/2014
Analisando uma lista graficamente
Inserir os elementos G, H, A em uma lista
Analisando uma lista graficamente
Remover os elementos D, X e M da lista
X
AC432
D
E
M
10C54
79C32
1928D
NULL
AC432
10C54
79C32
1928D
início
Lista duplamente encadeada
X
AC432
D
E
M
NULL
AC432
10C54
79C32
10C54
79C32
AC432
10C54
1928D
79C32
NULL
1928D
início
2
10/09/2014
Lista como um Tipo de Dado Abstrato
Características:
Conjunto de elementos;
Início para indicar o 1º elemento inserido
Cada elemento deve indicar o seu sucessor
Em lista duplamente encadeada, cada elemento deve indicar o seu antecessor Lista como um Tipo de Dado Abstrato
Operações:
Inserir novo elemento
Inserir novo elemento
Inserir novo elemento
Remover elemento do
Remover elemento do
Remover elemento do
Verificar se está vazia
Mostrar elementos
no início no fim no meio início fim meio Criando uma lista encadeada simples struct listaSimples
{ int el; struct listaSimples *prox;
};
3
10/09/2014
Criando uma encadeada
lista
duplamente
struct listaDupla
{ int el; struct listaDupla *ant; struct listaDupla *prox;
};
Continuando
Tema 5: Listas.
Usando uma lista encadeada simples para cadastrar letras em ordem alfabética #include <stdio.h>
#include <stdlib.h> struct lista
{ char letra; struct lista *prox;
};
4
10/09/2014
int empty (lista *l) { if (l==NULL) return true; else return false;
}
void