A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estrutura de Dados Aula 02 1.

Apresentações semelhantes


Apresentação em tema: "Estrutura de Dados Aula 02 1."— Transcrição da apresentação:

1 Estrutura de Dados Aula 02 1

2 Estrutura de Dados Lista - Definição
Uma Estrutura de Dados Lista é um conjunto de dados dispostos e/ou acessáveis em uma seqüência determinada. Este conjunto de dados pode possuir uma ordem intrínseca (Lista Ordenada) ou não. Este conjunto de dados pode ocupar espaços de memória fisicamente consecutivos, espelhando a sua ordem, ou não. Se os dados estiverem dispersos fisicamente, para que este conjunto seja uma lista, ele deve possuir operações e informações adicionais que permitam que seja tratado como tal (Lista Encadeada).

3 Listas A Lista é uma estrutura de dados cujo funcionamento é inspirado no de uma lista “natural” 89 55 24 20 12 4 24 89 12 Uma lista pode ser Ordenada ou não. Quando for ordenada, pode o ser por alguma característica intrínseca dos dados (ex: ordem alfabética). Pode também refletir a ordem cronológica (ordem de inserção) dos dados). 4 55 20

4 Listas usando Vetores Lista vazia 24 5 4 -1 2 1 3
1 3 Vetores possuem um espaço limitado para armazenamento de dados. Necessitamos definir um espaço grande o suficiente para a lista. Necessitamos de um indicador de qual elemento do vetor é o atual ultimo elemento da lista. 89 12 4 55 20 Lista cheia

5 Modelagem da Lista Aspecto Estrutural:
Necessitamos de um vetor para armazenar as informações. Necessitamos de um indicador da posição atual do último elemento da lista. Necessitamos de uma constante que nos diga quando a lista está cheia e duas outras para codificar erros.

6 Código para estrutura da lista
constantes Maxlista = 100; Inicio = 0 tipo Lista { inteiro dados[Maxlista]; inteiro primeiro, ultimo; };

7 Modelagem da Lista Aspecto Funcional:
Colocar e retirar dados da lista. Testar se a lista está vazia ou cheia e outros testes. Inicializa-la

8 Modelagem da Lista Operações: Colocar e retirar dados da lista:
FLVazia(Lista) : Faz a lista ficar vazia Insere(x,Lista): Insere x após o último elemento da lista Retira(p,Lista,x): Retorna o item x que está na posição p retirando-o da lista e deslocando os itens a partir da posição p+1 para as posições anteriores Vazia(): Testa se a lista está vazia Imprime(): Imprime os itens da lista na ordem de ocorrência

9 Algoritmo FLVazia() FUNÇÃO FLVazia(Lista) início Lista.primeiro <- Inicio; Lista.ultimo = Lista.primeiro fim;

10 Algoritmo Vazia (Lista)
inteiro FUNÇÃO Vazia(Vazia) início SE (Lista.ultimo = Lista.primeiro) ENTÃO RETORNE(Verdade) SENÃO RETORNE(Falso); fim;

11 Algoritmo Insere Procedimento: Parâmetros: 55 4 12 89 24 5 4
Testamos se há espaço. Incrementamos o último. Adicionamos o novo dado. Parâmetros: O dado a ser inserido. Lista (global). 20

12 Algoritmo Insere(Item;Lista)
Inteiro Insere(Item;Lista) início SE (Lista.ultimo > MaxLista ) ENTÃO IMPRIMA(“Lista Cheia”); SENÃO Lista.ultimo <- Lista.ultimo + 1. Lista.dados[Lista.ultimo] <- dado; RETORNE(Lista.ultimo); FIM SE fim;

13 Algoritmo Retira(pos;Lista;Item)
Procedimento: Testamos se há elementos. Decrementamos o último. Devolvemos o último elemento. Parâmetros: Lista (global).

14 Algoritmo Retira(pos;Lista;Item)
Inteiro retira(pos;Lista;Item) inteiro aux início SE (Vazia(Lista) OU pos > Lista.ultimo) ENTÃO IMPRIMA(“A lista esta vazia!”) SENÃO Item<- Lista.dado[pos]; Lista.ultimo <- Lista.ultimo - 1. PARA aux<-pos ATE lista.ultimo-1 FACA lista.dado[aux] = lista.dado[aux+1]; FIM SE FIM;


Carregar ppt "Estrutura de Dados Aula 02 1."

Apresentações semelhantes


Anúncios Google