Duvida sobre FilaLigada

2 respostas
S

oi pessoal…!

Eu tenho o seguinte:

1-uma interface Fila(FIFO)
tenho os metodos

dequeue() enfileirar // apenas remove a frente da fila
enqueue() desenfileirar// apenas introduz atraz da fila

2-a implementacao desta interface
com os seguintes campos:

private Nodo inicio;

private Nodo fim;

private int numElem;

contem tambem a classe interna

private classe Nodo

{

private Object elem;

private Nodo next;



construtores





}

3-A classe teste

Para testar o funcionamento da FilaLigada eu fiz uma geracao de numeros aleatorios e fui introduzindo os elementos na fila…

a minha duvida e a seguinte:

como imprimir o conteudo existente na fila sem apagar nenhum elemento e sem usar um iterador e sem ter que criar um metodo auxiliar que eu teria que obviamente declara-lo na interface e implementa-lo e ir chamando-o na classe teste.

eu tenho a ideia do metodo getInicio()//que devolve o elemento do inicio
sem apaga-lo,mas como andar para frente para imprimir o elemento seguinte?

ABRACOS…!!!

2 Respostas

jzf

coloca a classe toda aí que ajuda a responder a dúvida

sergiotaborda

Steven Mendes:
oi pessoal…!

Eu tenho o seguinte:

1-uma interface Fila(FIFO)
tenho os metodos

dequeue() enfileirar // apenas remove a frente da fila
enqueue() desenfileirar// apenas introduz atraz da fila

Eu não tenho a certeza, mas não é ao contrário?
dequeue = desenfileirar , enqueue = enfileirar

e que tal sem usar estruturas de repetição , sem usar StringBuffer e sem usar os elementos da lista ? :lol: 8)

Implemente toString() é um método ubiquo em todos os objetos java, portanto não vai interferir com sua interface. Use um while para iterar os nodos e um StringBuilder para constuir a string resultado. Não usar os elementos é demais :lol: use o método toString() deles tb

public String toString (){
   StringBuilder builder = new StringBuilder("{");

   Node current = inicio; 
   while  (current !=null ){
         builder.append(String.ValueOf(current .elem)); // isto funciona mesmo que elem seja null 
         current = current.next;
         if (current!=null){
                builder.append(','); // separador de elementos
         }
   }
 
   builder.append("}")
   return builder.toString();

}
Criado 8 de setembro de 2007
Ultima resposta 8 de set. de 2007
Respostas 2
Participantes 3