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

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

Listas Lineares Estrutura que permite representar um conjunto de dados de forma a preservar a relação de ordem linear. Uma lista linear é composta de nós,

Apresentações semelhantes


Apresentação em tema: "Listas Lineares Estrutura que permite representar um conjunto de dados de forma a preservar a relação de ordem linear. Uma lista linear é composta de nós,"— Transcrição da apresentação:

1 Listas Lineares Estrutura que permite representar um conjunto de dados de forma a preservar a relação de ordem linear. Uma lista linear é composta de nós, que podem conter, cada um deles, um dado primitivo ou um dado composto. Assim, uma lista é um conjunto de n>=0 nós: X1, x2, xk+1... Xn Quando n=0 dizemos que a lista é vazia. Esta ordem permite dizer com precisão onde a coleção inicia-se e onde termina.

2 Operações Acessar um nó qualquer da lista
Alterar o valor de qualquer nó da lista Inserir um nó numa posição específica da lista, antes do k-ésimo nó da lista. Remover um nó de uma posição específica da lista Concatenar duas listas Determinar o número de nós da lista Localizar o nó que contém um dado valor

3 Modos de Representação
Contigüidade Encadeamento

4 Contigüidade ou Listas Sequenciais
Utiliza a seqüencialidade da memória, de tal forma que os nós de uma lista sejam armazenados em endereços contíguos, ou igualmente distanciados um do outro. Assim, se conhecermos o endereço do nó x, então o endereço de xk+1 pode ser determinado. Para listas contíguas (chamadas também de sequenciais) podemos utilizar o tipo construído Vetor.

5 Operações em Listas Sequenciais
Consideraremos para este exemplo o vetor: int lista[10]; Acessar um nó qualquer da lista lista[i] Alterar o valor de qualquer nó da lista lista[i] = x; Acessar um nó qualquer da lista: atentar para o fato de que i não pode ser maior que o tamanho definido para o vetor.

6 Operações em Listas Sequenciais
Inserir um nó numa posição específica da lista, antes do k-ésimo nó void inserir(int plista[10], int k, int fim, int val) { int i; for(i=fim-1; i>=k; i--) plista[i+1] = plista[i]; } fim = fim + 1; plista[k] = val;

7 Operações em Listas Sequenciais
Remover um nó de uma posição específica da lista int remover(int plista[10], int k, int fim) { int i; if ((k <= 0) || (k > fim)) return 0; else for(i=k; i<=fim-1; i++) plista[i] = plista[i+1]; } fim = fim - 1; return 1;

8 Exercício para Aula Considere que em uma estante de sua casa há uma prateleira que pode armazenar no máximo 8 livros (considere que os livros têm tamanho médio de 300 páginas). Faça um programa que represente esta estante, sendo que nela você poderá incluir, retirar e consultar um livro, em qualquer posição que ele esteja, e também determinar quantos livros você tem guardados nesta prateleira. Faça esta implementação em linguagem C.


Carregar ppt "Listas Lineares Estrutura que permite representar um conjunto de dados de forma a preservar a relação de ordem linear. Uma lista linear é composta de nós,"

Apresentações semelhantes


Anúncios Google