Upload
leinylson-fontinele
View
262
Download
1
Embed Size (px)
Citation preview
# Estrutura de Dados #Aula 04 - Listas Estáticas
(Sequencial)Prof. Leinylson Fontinele Pereira
Na aula anterior...
Aula de Revisão de C
Ponteiros
Funções
etc
11:32 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
O que vamos aprender?
Listas Estáticas Sequencial# Propriedades
# Operações fundamentais
11:32 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Vamos começar?
11:32 4 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32
O que é uma Lista?
Estrutura de Dados: Aula 04 - Listas Estáticas
O que é uma Lista?
11:32
Uma lista é uma estrutura que armazena elementos do mesmo tipo de forma alinhada, ou seja, elementos dispostos um após o outro.
Estrutura de Dados: Aula 04 - Listas Estáticas
Exemplos de Listas
11:32 7 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Lista: exemplos
11:32
Coisas a fazer
Compras
Catálogo telefônico
Informações sobre funcionários da empresa
Notas de alunos
Itens de estoque
Cartas de baralho
etc
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 9 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Qual propriedade é comum a todas estas listas
11:32 10 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Linearidade
Lista: Definição Formal
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Lista Estática (Consecutiva/Sequencial)
11:32
Os nós desta lista são armazenados em endereços sequenciais.
Materializada na forma de um vetor:
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Lista Estática (Consecutiva/Sequencial)
11:32
Alocação estática O espaço de memória é alocado no momento da compilação
Exige a definição do número máximo de elementos da Lista
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Operações do TAD Lista
11:32 14 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Operações com Listas
11:32
As propriedades estruturadas da lista, permitem responder a questões como:
Qual é o primeiro elemento da lista?
Qual é o último elemento da lista?
Quais elementos sucedem um determinado elemento?
Quantos elementos existem na lista?
Como inserir um elemento na lista?
Como eliminar um elemento da lista?
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Operações com Listas
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Criação de uma Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
É a primeira operação a ser executada;
Aloca as variáveis necessárias para a definição da lista;
Inicializa as variáveis de controle;
Por fim, as demais operações ficam habilitadas.
Operações com Listas
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Definindo uma Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 20 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Tamanho
Operações: Tamanho da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 22 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Como faço para saber se alista esta vazia
Operações: Tamanho da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 24 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserção
Operações: Inserção
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserções podem ser:
No início da lista;
No final da lista;
Em alguma posição dentro da lista.
Operações: Inserção
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Operações: Inserção
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Operações: Inserção
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Problema:
Nas estruturas contíguas é a necessário definir seu tamanho a priori, podendo levar a:
• um superdimensionamento (desperdiço de memória) ou
• um subdimensionamento (impossibilidade de inserir mais elementos).
11:32 29 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Busca
Operações: Busca
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Operações: Busca
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 32 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
ElementoEm
Operações: ElementoEm
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 34 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Remoção
Operações: Remoção
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Operações: Remoção
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Operações: Remoção
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Concluindo...
11:32 38 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Lista Estática Sequencial
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Nesta aula aprendemos... Estrutura de dados lista é uma das mais
importantes e fundamentais.
Conceito chave da lista é a linearidade, podemos falar em primeiro, segundo ....
Pode ser codificada usando estruturas contíguas e encadeadas
Estruturas contíguas o tamanho é dado a priori.
11:32 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Material: https://sites.google.com/site/leinylsonnassau
11:32
Material baseado nas aulas de:
Estruturas de Dados, Prof.ª Roseli A. F. Romero
Listas: Conceito e estáticas, Prof: Sergio Souza Costa
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Na próxima aula veremos...
Listas Estáticas Sequenciais# Prática de laboratório
11:32 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Prática
11:32 44 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
As aulas práticas foram baseadas no material de
Linguagem C Descomplicada , Dr. André R. Backes.
Disponível em: https://programacaodescomplicada.wordpress.com/
Lista Estática Sequencial
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
ListaSequencial.h
Os protótipos das funções
O tipo de dado armazenado na lista
O ponteiro lista
Tamanho do vetor usado na lista
Lista Estática Sequencial
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
ListaSequencial.c
O tipo de dados lista
Implementar as suas funções
11:32 47 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Definindo a Lista
Definindo a Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 49 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Criando a Lista
Criando a Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Criando a Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 52 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Destruindo a Lista
Destruindo a Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 54 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Obtendo o Tamanho
Obtendo o Tamanho da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Obtendo o Tamanho da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 57 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Lista Cheia?
Verificando se a Lista está Cheia
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Verificando se a Lista está Cheia
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 60 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Lista Vazia?
Verificando se a Lista está Vazia
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Verificando se a Lista está Vazia
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 63 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserção na Lista
Lista Estática Sequencial
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Início ->
Fim ->
Meio ->
Inserindo numa Lista Vazia
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo numa Lista Vazia
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 67 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo no Final
Inserindo Elementos no Final da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo Elementos no Final da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 70 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo no Início
Inserindo Elementos no Início da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo Elementos no Início da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 73 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo no Meio
Inserindo Elementos de Forma Ordenada da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo Elementos de Forma Ordenada da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 76 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Remoção na Lista
Removendo de uma Lista Vazia
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
A remoção sempre remove um elemento específico da lista, o qual pode estar noinício, no meio ou no fim.
Cuidado: Não se pode remover de uma lista vazia!!
11:32 78 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Removendo do Final
Removendo Elementos do Final da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Removendo Elementos do Final da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 81 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Removendo do Início
Removendo Elementos do Início da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Removendo Elementos do Início da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 84 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Removendo do Meio
Removendo Elementos do Meio da Lista
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
11:32 86 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Realizando Consulta na Lista Estática
Realizando Consulta na Lista Estática
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Existem duas maneiras de consulta um elemento de uma lista: Pela posição: acesso direto
Pelo conteúdo: necessidade de busca
Consulta pela Posição
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Consulta pelo Conteúdo
11:32Estrutura de Dados: Aula 04 - Lista Estática Sequencial