Você está na página 1de 3

Trabalho Lista duplamente encadeada

Gabriel Corrêa Terra


Estrutura de Dados
de Lucca

Métodos e suas funções

mostra_tudo : esse método irá exibir todos os elementos da lista, incluindo os salvos
como primeiro elemento e último, e o número de elementos na lista.
sua função será exibir os elementos para conferência no arquivo de testes.

avanca_posicoes: esse método recebe como parâmetro um número, no qual ele irá
percorrer a lista no número de posições informada. Esse método entende você
deseja avançar baseado na localização do cursor. ele não irá para uma posição
predefinida para fazer a contagem.

retrocede_posicoes: mesma ideia do ‘avanca_posicoes’ porém a orientação e da


esquerda para a direita .

acessa_atual: esse método acessa o valor onde o cursor está e retorna o seu valor.

insere_apos_o_atual: esse método recebe como parâmetro um objeto e o insere a


direita do cursor. Ele irá reconhecer se o elemento a direita é o ultimo e fará as
alterações necessárias.

insere_atras_do_atual: mesma ideia do ‘insere_apos_o_atual’, porém na posição de


trás (esquerda).

insere_no_final: recebe como parametro um objeto e o insere no fim da lista.

insere_no_inicio: recebe como parametro um objeto e o insere no início da lista.

insere_na_posicao: recebe como parâmetro a posição e o objeto e o insere na


posição desejada. Esse método entende que a posição se baseia como a direita do
início, ou seja, na posição absoluta na lista.

Exemplo: se você pedir para inserir um elemento na posição 1, esse elemento


consequentemente será o primeiro elemento da lista

exclui_atual: esse método exclui o elemento no qual o cursor aponta. Ele é capaz de
entender quando esse elemento é o primeiro ou o último e faz as alterações
necessárias.
exclui_primeiro: esse metodo exclui o primeiro elemento da lista.

exclui_ultimo: esse método exclui o último elemento da lista.

exclui_elemento: esse método recebe como parâmetro uma chave, onde ele irá
excluir o elemento que possui aquela chave caso exista.

exclui_da_posicao: esse método recebe como parâmetro um número, onde ele irá
remover o elemento que corresponda àquela posição da lista caso exista.
Lembrando que como o método ‘insere_na_posicao’, esse método entende que a
posição se baseia como a direita do início, ou seja, na posição absoluta na lista.

Exemplo: se você pedir para iremover um elemento na posição 2, o elemento que


possui a 2° posição (contando a partir do primeiro elemento) será eliminado.

buscar: esse método recebe como parâmetro uma chave onde irá retornar True
caso exista um elemento na lista referente a essa chave.

Implementação

A implementação segue como ideia a lista duplamente encadeada vista em aula,


onde deve se destacar que:
Essa lista possui um primeiro elemento e um último, de forma que essa
posições estão salvas em variáveis explícitas na classe da
‘ListaDuplamente’Encadeada’.
Foram feitas alguns métodos de controle que possuem como função: verificar
a quantidade de elementos na lista e inibir caso tenha ultrapassado o limite, testar
se o objeto a ser inserido é do tipo apropriado (do tipo ‘Elemento’), conferir se existe
elementos na lista para uma eventual busca ou remoção (retorna uma exceção),
acrescentar ao atributo quantidade + 1 quando um elemento for adicionado e
decrementar ao atributo quantidade - 1 quando um elemento for removido.

Método de alteração de elemento

O método usado na hora de remover um elemento da lista ou adicionar segue uma


ideia de manipular os objetos antes e depois do curso e fazer as manipulações de
ponteiro, e posteriormente levar o cursor ao início da lista. Apesar de não ser usado
em todos os métodos, ele corresponde a maioria.

Importante ressaltar que quando um elemento é removido, o cursor vai para o inicio
da fila, caso ainda existam elementos na fila.

Testes
Além do documento e do arquivo da classe e, será enviado um terceiro que conterá
código para testar a lista. Teste de inserção, remoção, busca e teste de exceções.
Esses códigos estão comentados e para serem usados deve-se descomentar. ao
testar, deve-se comentar para que um não atrapalhe o funcionamento do outro.

Você também pode gostar