Você está na página 1de 3

IlistaDupEnc<T>

1. getInicio(): Retorna a referência para o nó que está no início da lista.


2. getFim(): Retorna a referência para o nó que está no final da lista.
3. clear(): Limpa toda a lista, removendo todos os elementos.
4. size(): Retorna o número de elementos na lista.
5. estaVazia(): Retorna true se a lista estiver vazia, e false caso contrário.
6. InserirInicio(T elemento): Insere um elemento no início da lista.
7. InserirFim(T elemento): Insere um elemento no final da lista.
8. Inserir(int pos, T elemento) throws Exception: Insere um elemento na
posição indicada pelo parâmetro pos. Pode lançar uma exceção (Exception) se
a posição for inválida.
9. contem(T elemento): Retorna true se a lista contiver o elemento especificado, e
false caso contrário.
10. RemoverInicio(): Remove o primeiro elemento da lista.
11. RemoverFim(): Remove o último elemento da lista.
12. Remover(int pos) throws Exception: Remove o elemento na posição
indicada pelo parâmetro pos. Pode lançar uma exceção se a posição for inválida.
13. toString(): Converte a lista para uma representação de string.
14. iterator(): Retorna um objeto Iterator<T> que pode ser usado para
percorrer a lista. Este método é usado para percorrer os elementos da lista de
forma sequencial.

Essa interface fornece uma estrutura básica para operações comuns em listas
duplamente encadeadas. As classes que implementam essa interface devem
fornecer implementações específicas para cada um desses métodos. Por
exemplo, uma implementação concreta poderia ser uma classe ListaDupEnc<T>
que contém os detalhes da implementação dos métodos mencionados.

ListaDupEnc<T>
1. Atributos:
 contElementos: Um contador para manter o controle do número de
elementos na lista.
 noCabeca: Um nó sentinelar (cabeça) que não contém um elemento e
serve como marcador para o início e o fim da lista.
2. Construtor:
 public ListaDupEnc(): Inicializa a lista com um nó sentinelar
(noCabeca) e configura o contador de elementos para zero.
3. Métodos da Interface IlistaDupEnc<T>:
 Métodos como getInicio(), getFim(), clear(), size(), estaVazia()
implementam as operações básicas definidas pela interface.
4. Inserção de Elementos:
 InserirInicio(T elemento): Insere um novo nó com o elemento
especificado no início da lista.
 InserirFim(T elemento): Insere um novo nó com o elemento
especificado no final da lista.
 Inserir(int pos, T elemento): Insere um novo nó com o elemento
especificado na posição indicada. Lança uma exceção se a posição for
inválida.
5. Verificação e Remoção de Elementos:
 contem(T elemento): Verifica se a lista contém o elemento especificado.
 RemoverInicio(): Remove o primeiro elemento da lista.
 RemoverFim(): Remove o último elemento da lista.
 Remover(int pos): Remove o elemento na posição indicada. Lança uma
exceção se a posição for inválida.
6. Ordenação usando Selection Sort:
 selectionSort(): Implementa o algoritmo de ordenação Selection Sort
para ordenar a lista. Usa a interface Comparable<T> para comparar os
elementos.
7. Método toString():
 toString(): Converte a lista em uma representação de string.
8. Implementação de Iterable<T>:
 iterator(): Retorna um objeto Iterator<T> para permitir a iteração
sobre os elementos da lista.
9. Classe Interna Anônima para Iterator:
 Dentro do método iterator(), há uma implementação anônima da
interface Iterator<T>. Essa implementação permite percorrer a lista de
trás para frente.

A implementação geral da classe fornece operações básicas de uma lista


duplamente encadeada, juntamente com a capacidade de ordenação e iteração.

NoDupEnc<T>
1. Atributos:
 private T elemento: Armazena o elemento associado ao nó.
 private NoDupEnc<T> proximo: Referência para o próximo nó na
lista.
 private NoDupEnc<T> anterior: Referência para o nó anterior na
lista.
2. Construtores:
 public NoDupEnc(T objeto):
Um construtor que cria um nó com um
elemento especificado e define as referências para o próximo e o
anterior como nulas.
 public NoDupEnc(T objeto, NoDupEnc<T> proximo, NoDupEnc<T>
anterior):
Outro construtor que permite especificar o elemento,
o próximo nó e o nó anterior ao criar o nó.
3. Métodos Getters e Setters:
 public T getElemento(): Retorna o elemento associado ao nó.
 public void setElemento(T elemento): Define o elemento
associado ao nó.
 public NoDupEnc<T> getProximo(): Retorna o próximo nó na lista.
 public void setProximo(NoDupEnc<T> proximo): Define o próximo nó
na lista.
 public NoDupEnc<T> getAnterior(): Retorna o nó anterior na lista.
 public void setAnterior(NoDupEnc<T> anterior): Define o nó
anterior na lista.

Essa classe NoDupEnc<T> é projetada para ser usada em uma lista


duplamente encadeada, onde cada nó contém um elemento e mantém
referências para o nó anterior e o próximo nó na sequência. A presença
de referências ao nó anterior e ao próximo nó permite a navegação
bidirecional na lista, facilitando operações como inserção, remoção e
iteração.

Você também pode gostar