Listas Lineares como Tipo Abstrato de Dados

Propaganda
3. Lista Linear– Um Tipo Abstrato de Dados
3.1 TDA para uma lista linear não ordenada
Descreveremos um TDA para uma lista linear que suporta apenas números inteiros e as
as seguintes operações:
a.
b.
c.
d.
e.
Inicializar_Lista - colocar a lista na condição de lista vazia
Lista_É_Vazia - verifica se a lista está vazia
Lista_É_Cheia - verifica se a lista está cheia
Insere_Elem - insere elemento dado num dos extremos da lista
Remove_Elem - remove o elemento dado
TDA lista_não_ordenada é:
dados: números inteiros
operações:
Inicializar_Lista
entrada: o endereço da lista
pré-condição: nenhuma
processo: colocar a lista na condição de lista vazia
saída: nenhuma
pós-condição: uma lista vazia
Lista_É_Vazia
entrada: o endereço da lista
pré-condição: nenhuma
processo: verificar se a lista está na condição de vazia
saída: retorna True se lista vazia
retorna False se lista não está vazia
pós-condição: nenhuma
Lista_É_Cheia
entrada: o endereço da lista
pré-condição: nenhuma
processo: verificar se a lista está na condição de cheia
saída: retorna True se lista está cheia
retorna False se lista não está cheia
pós-condição: nenhuma
Insere_Elem
entrada: o endereço da lista e o elemento a ser inserido
pré-condição: a lista não estar cheia
processo: inserir o elemento dado num dos extremos da lista
saída: retorna 1 se a inserção ocorreu com sucesso
retorna -1 se a inserção ocorreu com fracasso
pós-condição: a lista de entrada com um elemento a mais
Remove_Elem
entrada: o endereço da lista e o elemento que se deseja remover
pré-condição: lista não ser vazia
processo: percorrer a lista a partir do seu inicio até encontrar o elemento
desejado ou chegar ao final da lista. Se encontrar o elemento
remova-o da lista,
garantindo que a lista mantenha sua ordem linear
saída: retorna 1 se a remoção ocorreu com sucesso
retorna -1 se a remoção ocorreu com fracasso
pós-condição: a lista de entrada com um elemento a menos
Fim TDA lista_não_ordenada
3.2 Descrição do TDA para uma Lista Linear Ordenada
Usaremos as mesmas funções descritas na subseção 3.1.1, com algumas modificações
apenas para as operações Insere_Elem e Remove_Elem.
a)
b)
c)
d)
e)
Inicializar_Lista - colocar a lista na condição de lista vazia
Lista_É_Vazia - verifica se a lista está vazia
Lista_É_Cheia - verifica se a lista está cheia
Insere_Elem - insere elemento dado na posição correta na lista
Remove_Elem - remove o elemento desejado. Neste caso a busca pelo elemento pode
ser otimizada.
TDA lista_ordenada é:
dados: números inteiros
operações:
Inicializar_Lista
entrada: o endereço da lista
pré-condição: nenhuma
processo: colocar a lista na condição de lista vazia
saída: nenhuma
pós-condição: uma lista vazia
Lista_É_Vazia
entrada: o endereço da lista
pré-condição: nenhuma
processo: verificar se a lista está na condição de vazia
saída: retorna True se lista vazia
retorna False se lista não está vazia
pós-condição: nenhuma
Lista_É_Cheia
entrada: o endereço da lista
pré-condição: nenhuma
processo: verificar se a lista está na condição de cheia
saída: retorna True se lista está cheia
retorna False se lista não está cheia
pós-condição: nenhuma
Insere_Elem
entrada: o endereço da lista e o elemento a ser inserido
pré-condição: a lista não estar cheia
processo: percorrer a lista a partir do seu inicio até encontrar o primeiro
elemento maior que o elemento a ser inserido e guardar esta
posição. Inserir o elemento na lista de tal forma que esta se
mantenha ordenada.
saída: retorna 1 se a inserção ocorreu com sucesso
retorna -1 se a inserção ocorreu com fracasso
pós-condição: a lista de entrada com um elemento a mais
Remove_Elem
entrada: o endereço da lista e o elemento que se deseja remover
pré-condição: lista não ser vazia
processo: percorrer a lista a partir do seu inicio até encontrar o elemento
desejado ou até encontrar um elemento maior que o valor do
elemento que se quer remover. Se encontrar o elemento removao da lista, garantindo que a lista se mantenha ordenada.
saída: retorna 1 se a remoção ocorreu com sucesso
retorna -1 se a remoção ocorreu com fracasso
pós-condição: a lista de entrada com um elemento a menos
Fim TDA lista_ordenada
Download