A aula apresenta as listas estáticas sequenciais como estrutura de dados. São abordadas as propriedades, operações fundamentais como criação, tamanho, busca, inserção, remoção e exemplos de implementação em C. Apresenta também a prática de implementar funções básicas de lista estática sequencial em laboratório.
6. 17:24
O que é uma Lista?
Estrutura de Dados: Aula 04 - Listas Estáticas
7. O que é uma Lista?
17:24
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
9. Lista: exemplos
17:24
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
10. 17:24 10 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Qual propriedade é comum a
todas estas listas
11. 17:24 11 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Linearidade
12. Lista: Definição Formal
17:24
Uma lista L é uma coleção de 𝑛 elementos 𝑥1 , 𝑥2, 𝑥3 … 𝑋 𝑛, para 𝑛 ≥ 0.
Se 𝑛 > 0, então 𝑥1 é o primeiro e 𝑥 𝑛 o último elemento.
Para 𝑖 = {1,2, … , 𝑛}, 𝑥𝑖 é precedido por 𝑥𝑖−1 é seguido por 𝑥𝑖+1.
Se 𝑛 é igual a 0, então a lista é vazia.
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
13. ListaEstática (Consecutiva/Sequencial)
17:24
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
15. Operações do TAD Lista
17:24 15 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
16. Operações comListas
17:24
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
18. Criaçãode uma Lista
17:24
Estrutura 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.
20. Definindo uma Lista
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Pode-se implementar uma lista de no máximo 𝑀𝐴𝑋 elementos, como um arranjo
𝐴[1. . 𝑀𝐴𝑋]. Este arranjo tem um atributo 𝑁[𝐴] que retorna o nº de elementos
Para 𝑀𝐴𝑋 = 7, temos o seguinte arranjo 𝐴:
21. 17:24 21 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Tamanho
25. 17:24 25 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserção
26. Operações: Inserção
17:24
Estrutura 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.
29. Operações: Inserção
17:24
Estrutura 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).
35. 17:24 35 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Remoção
36. Operações: Remoção
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Podemos remover um elemento em qualquer posição, no início, meio ou fim!
Precisamos manter as propriedades da lista, 𝑥𝑖+1 suceder 𝑥𝑖.
37. Operações: Remoção
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Para remover um elemento com um dado índice 𝑖, movo os elementos de
𝐴[𝑖 + 1. . 𝑛] para 𝐴[𝑖. . 𝑛].
40. ListaEstática Sequencial
17:24
Vantagens:
Acesso direto indexado a qualquer elemento da lista
Tempo constante para acessar o elemento 𝑖 dependerá
somente do índice.
Desvantagem:
Movimentação quando eliminado/inserido elemento
Definição prévia do tamanho máximo
Quandousar:
Listas pequenas
Inserção/remoção no fim da lista
Tamanho máximo bem definido
A busca é a operação mais frequente
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
41. 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.
17:24 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
45. Prática
17:24 45 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/
46. ListaEstática Sequencial
17:24
Estrutura 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
66. Inserindo numa Lista Vazia
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
67. Inserindo numa Lista Vazia
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
68. 17:24 68 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo no Final
69. Inserindo Elementos no Final da Lista
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
70. Inserindo Elementos no Final da Lista
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
71. 17:24 71 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo no Início
72. Inserindo Elementos no Inícioda Lista
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
73. Inserindo Elementos no Inícioda Lista
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
74. 17:24 74 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Inserindo no Meio
75. Inserindo Elementos de Forma Ordenada da Lista
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
76. Inserindo Elementos de Forma Ordenada da Lista
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
77. 17:24 77 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Remoção na Lista
78. Removendode uma Lista Vazia
17:24
Estrutura de Dados: Aula 04 - Lista Estática Sequencial
A remoção sempre remove um elemento específico da lista, o qual pode estar no
início, no meio ou no fim.
Cuidado: Não se pode remover de uma lista vazia!!
79. 17:24 79 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Removendo do Final
87. 17:24 87 Estrutura de Dados: Aula 04 - Lista Estática Sequencial
Realizando Consulta
na Lista Estática
88. Realizando Consulta na Lista Estática
17:24
Estrutura 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