Tarefa em Java

1 resposta
A

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:

  1. 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.

  2. 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.

  3. 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.

1 Resposta

drsmachado

Deixa eu repetir, mas apenas para ti:
Não fazemos lição de casa
Se possui dúvidas, formule uma pergunta. Se não for capaz de formular uma pergunta, não se engane, tenha a hombridade de dizer que não aprendeu (independente do motivo) e volte a estudar até entender.

Criado 14 de setembro de 2012
Ultima resposta 14 de set. de 2012
Respostas 1
Participantes 2