Você está na página 1de 8

Lista esttica sequencial

Sistemas de Informao - FACTO

typedef struct { int vetor[n]; int final; }


0 1 ...

vetor[n] final
Sistemas de Informao - FACTO

n-1

typedef struct { int vetor[10]; int final; }


0 1 ...

Neste exemplo tomamos um vetor de 10 posies.

vetor[10] final
Sistemas de Informao - FACTO

10-1

...

vetor[10]
final = -1

10-1

Neste exemplo final = -1, significa lista vazia.

Sistemas de Informao - FACTO

A insero normal em uma LES (Lista Esttica Sequencial) sempre se dar no final; Vamos inserir o nmero 2; Vamos inserir o nmero 3; Suponhamos que o vetor est quase cheio; Vamos inserir o nmero 5; Vamos inserir o nmero 6; Agora, o vetor atingiu seu limite. No se pode inserir mais dados.

...

vetor[10]
final = 7 final = 8 9 1 -1 0

10-1

A condio de trmino deve ser o tamanho do vetor menos um final + 1 (vetor[n-1]).


5

Sistemas de Informao - FACTO

No podemos remover se o final for menor que 0 (visto que, como neste neste exemplo, -1 significa lista vazia); Basta decrementar o indicador do final da lista; Agora, o final 8, temos 1 espao livre no vetor; Vamos remover mais um; Agora, temo 2 espaos livres.

...

vetor[10]
final = 8 7 9

10-1

Sistemas de Informao - FACTO

Para inserir um dado no incio, todos os dados subsequentes do vetor devem ser movidos para a casa posterior; A movimentao dos dados deve ocorrer do final para o incio; Agora, o vetor pode receber um novo dado no incio; Agora, o vetor recebe o novo dado, neste caso, escolhemos o nmero 1; Agora, o final incrementado em 1;

...

vetor[10]
final = 8 7

10-1

Sistemas de Informao - FACTO

A movimentao dos dados deve ocorrer do incio para o final; Agora, o final decrementado em 1;

...

vetor[10]
final = 7 8

10-1

Sistemas de Informao - FACTO

Você também pode gostar