Você está na página 1de 15

Listas Lineares

Lista Linear

A Lista Linear a estrutura que permite representar um conjunto de dados de forma a preservar a relao de ordem existente entre eles.
Estrutura interna abstrada.

Listas Lineares

Diversos tipos de aplicaes requerem uma lista:


Lista telefnica Lista de tarefas

Gerncia de memria
Simulao Compiladores, etc.

Tipos de Listas Lineares

Listas Lineares Gerais

Sem restrio para insero e remoo de elementos

Lista Lineares Particulares (Pilhas e Filas)

Com restrio para insero e remoo de elementos

Alocao de Memria
Uma parte da memria destinada ao armazenamento de instrues e o restante ao armazenamento de dados;
O compilador determina a quantidade de memria usada para as instrues;

J a alocao para armazenagem dos dados responsabilidade do programador;

Classificao de alocao de memria


Sequencial Esttica Dinmica Esttica sequencial Dinmica sequencial Encadeada Esttica encadeada Dinmica encadeada

Alocao Sequencial
Consiste em alocar os itens em clulas de memria consecutivas, L=[x1, x2,...xn];
A maior vantagem da alocao sequencial que, dados o endereo inicial da rea alocada e o ndice de um item da lista, podemos acessar esse item diretamente com um simples e rpido clculo; A desvantagem quando precisamos inserir ou remover itens. Pois precisaremos movimentar outros itens j armazenados na lista.

Alocao Esttica
Na alocao esttica, a quantidade de memria destinada ao armazenamento de dados determinada no momento da compilao, durante a execuo do programa continua constante;

Alocao Sequencial Esttica


Int vetor[6]; // 6 inteiros

Alocao Dinmica
Na alocao dinmica, a quantidade destinada ao armazenamento dos dados varia enquanto o programa executado.

Alocao Sequencial Dinmica


int *num;
... num=malloc(sizeof(int)*6); //malloc funo usada para alocao dinmica //sizeof indica a quantidade de memria a ser alocada.

//(int)*6 memria suficiente para armazenar 6 inteiros.

Alocao Encadeada
Na alocao encadeada os itens podem ocupar clulas espalhadas por toda a memria;
Para preservar a relao de ordem linear, junto com cada item armazenado o endereo do prximo item da lista;

Os itens so armazenados em ns;


Cada n composto por dois campos, um para guardar um item x e o outro para guardar o endereo do n que contm o sucessor de x. Dois endereos devem ser destacados o endereo do primeiro n da lista e o endereo

Alocao Encadeada
A maior desvantagem da alocao encadeada a facilidade a facilidade que ela oferece para insero e remoo dos itens;
Como os itens no precisam estar armazenados em ns consecutivos, durante uma operao de insero ou remoo, nenhum item da lista precisa ser movimentado; A desvantagem surge quando precisamos acessar uma posio arbitrria da lista. Pois devemos partir do primeiro item e seguir os campos de ligao, um a um, at alcanar a posio desejada. Isso em listas muito

Declarao de uma Estrutura Encadeada


typedef struct no {
char conteudo;

struct no *vizinho;
} no; // esta estrutura possui dois campos conteudo que do tipo char e vizinho que um ponteiro.

Remoo - sequencial