Il problema che sottopongo all'attenzione di questo forum è il seguente:
Restituire una nuova coda, che contiene i valori
della coda passata per argomento, ma in ordine inverso.
La coda originale non deve essere modificata.
Ho provato a realizzare il seguente codice sorgente ma, se pur non ci sono problemi a compile time, a run- time non ottengo niente, nel senso che non viene stampato nessun risultato.
Riporto qui il codice che ho scritto:
codice:
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
/**
* Restituireunanuovacoda, checontiene i valori
* dellacodapassata per argomento, ma in ordineinverso.
* Lacodaoriginale non deveesseremodificata.
*/
public class ReverseQ {
public static Queue<Integer> reverse( Queue<Integer> input ) {
if (input == null)
throw new IllegalArgumentException("La coda deve essere inizializzata");
Integer[] arr=new Integer[input.size()];
Queue<Integer> qAux=new LinkedList<Integer>();
int i=0;
while ( ! input.isEmpty( )) {
Integer tmp=input.peek();
arr[i]=tmp;
}
for(int j=arr.length-1;j>=0;i-- ) {
qAux.add(arr[j]);
}
return qAux;
}
}
Perché?
tulipan