Tenho esta tarefa para fazer mais não estou conseguindo nem iniciar … alguem pode me ajudar…
Lista Duplamente Encadeada
Implemente a classe ListaOrdenada. Esta classe deve ser filha da classe List (Implementação de lista duplamente encadeada). Ela deve prover o método public void insert(String s). Este método deve inserir a String s em uma posição determinada da lista de modo que esta sempre fique ordenada.
Considere que a lista armazena objetos do tipo String. Para realizar a comparação entre Strings você deve utilizar o seguinte método da classe String:
public int compareTo(String anotherString)
Este método retorna um valor inteiro que deve ser interpretado da seguinte maneira:
< 0 (negativo) ? valor do objeto corrente é menor que o valor do objeto passado como parâmetro
0 (positivo) ? valor do objeto corrente é maior que o valor do objeto passado como parâmetro
== 0 (zero) os objetos são iguais
O método public void insert(String s) deve percorrer a lista encadeada, comparando o valor do dado em cada nó com o valor do dado a ser inserido. Quando o valor do dado a ser inserido for menor que o dado do nó corrente, este deve ser inserido antes do nó corrente. Desta maneira três condições precisam sem consideradas:
-
Elemento inserido na primeira posição da lista
a) Esta condição ocorre quando o elemento a ser inserido é menor que o elemento armazenado no primeiro nó da lista. Neste caso a referencia firstNode deve referenciar este elemento. -
Elemento inserido na última posição da lista
a) Esta condição ocorre quando o elemento a ser inserido é maior que o último elemento da lista. Neste caso a referencia lastNode deve referenciar este elemento. -
Elemento inserido em uma posição intermediária na lista
Alem do método public void insert(String s), esta classe também deve disponibilizar os seguintes métodos:
public void printAscending()
Imprime os elementos da lista em ordem crescente.
public void printDescending()
Imprime os elementos da lista em ordem decrescente.