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:
Perché?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; } }
tulipan