Você está na página 1de 14

ESTRUTURA DE

DADOS I
Aula 04

Prof. Sérgio Luis Antonello


Prof. Antero Sewaybricker Todesco

Uniararas
12/03/2018
Sumário

 Primeiro momento
 Lista ligada Simplesmente Encadeada
 Segundo momento
 Lista ordenada
 Lista Duplamente Encadeada
 Lista circular
 Terceiro momento
 Síntese
1. Revisão: Estruturas lineares dinâmicas
 Listas ligadas

 O tamanho máximo não é pré-determinado

 A estrutura aumenta com a adição de um novo elemento

 A estrutura diminui quando elementos são retirados

 Cada nó da estrutura possui um ponteiro real que


aponta para a real posição de memória do próximo nó
1. Revisão: Lista Simplesmente Encadeada
 Cada nó contém um ponteiro que aponta para o
próximo nó

typedef struct _no {


int dado;
float outrodado;
struct _no *proximo;
} No;
2. Lista encadeada ordenada
 Montada de tal forma que esteja ordenada por algum
dos campos que compõem a estrutura de seus nós.
 Na ordenação ascendente, o primeiro nó da lista terá
sempre o menor valor armazenado na lista, o segundo
nó contém o segundo menor valor e assim
sucessivamente.

 A situação se inverte no caso


de ordenação descendente.
2. Lista encadeada ordenada
 Operações coma lista encadeada ordenada

 Iniciar a lista

 Inserção em qualquer lugar da lista

 Remoção em qualquer lugar da lista

 Consultar a lista (exibir todo conteúdo; buscar um


conteúdo específico)

 etc
2. Lista encadeada ordenada
 Inserção na lista encadeada ordenada
 Alocar memória e alimentar os campos do registro
 Identificar o local da inserção
 Fazer os reapontamentos necessários
2. Lista encadeada ordenada
 Remoção na lista encadeada ordenada
 Identificar o nó a ser removido
 Fazer os reapontamentos necessários
 Liberar a memória alocada
2. Lista Duplamente Encadeada
 Cada nó aponta para o nó anterior e para nó posterior
 Tem um ponteiro que mostra o início da lista (permite o
acesso à estrutura)
 Pode ter um ponteiro que mostra o final da lista
3. Lista Circular
 Lista simplesmente encadeada circular
 O último nó aponta para o primeiro nó

 Lista duplamente encadeada circular


 O último nó aponta para o primeiro nó
 O primeiro nó aponta para o último nó
4. Simulador
 Simulador do funcionamento de estruturas de dados

https://visualgo.net/bst
5. Exercício 1: Lista encadeada ordenada
 Considerando a mesma estrutura do Exercício 1 da
aula anterior, implementar uma lista ligada ordenada
simplesmente encadeada
 Implementar as rotinas
 Iniciar a lista
 Inserção em qualquer lugar da lista
 Remoção em qualquer lugar da lista
 Consultar um elemento da lista
 Exibir todo conteúdo da lista

 Validar Incluindo, respectivamente, os RA’s 10, 15, 13,


8, 45, 17, 12 e 40
 Validar a remoção dos RA’s 90, 15, 45, 8, 17, 40
5. Exercício 2: Lista ordenada duplamente
encadeada
 Considerando a mesma estrutura do Aluno do
exercício 1 da aula anterior, implementar uma lista
ordenada, ligada e duplamente encadeada
 A lista não é circular

 Implementar as rotinas
 Iniciar a lista
 Inserção sempre no final da lista
 Remoção em qualquer lugar da lista
 Exibir todo conteúdo da lista

 Validar Incluindo, respectivamente, os RA’s 10, 15, 13,


8, 45, 17, 12 e 40
 Validar a remoção dos RA’s 90, 15, 45, 8, 17, 40
7. Síntese

Você também pode gostar