aduri
20-08-2006, 17:37
Sto cercando di andare per gradi per raggiungere la soluzione del problema richiesto dal prof.
Testo:
Definire la classe SortedLinkedList che estende la classe LinkedList (vista a
lezione) PREMETTO CHE IO NON L'HO VISTA E NON SONO RIUSCITO AD AVERE APPUNTI
e che mantiene ordinata la lista: ridefinire il metodo add() affinché inserisca gli
elementi in ordine. Gli oggetti da inserire devono essere confrontabili e quindi devono
implementare l’interfaccia Comparable. Si ordini la lista in modo che il valore massimo
sia in testa (first) e il valore minimo in coda (last). Verificare la correttezza
dell’implementazione: per esempio usando sequenze di stringhe in ordine, in ordine inverso,
casuali, uguali. Verificare con sequenze di 21 elementi Integer casuali, con valori
compresi nell’intervallo [-30,30].
Questa e' la prima parte del codice.
Il mio primo problema e' capire come comprendere anche i numeri negativi nella lista random.
Il codice ne elenca 21 interi positivi.
Il secondo e' capire come ridefinire il metodo add() in una LinkedList???
import java.util.*;
public class TestLinkedList extends LinkedList
{
private static int elementi;
public static void main ( String []args )
{
if(args.length > 0)
elementi = Integer.parseInt(args[0]);
else
elementi = 21;
System.out.println( "Prova su " + elementi + "elementi." );
LinkedList l = new LinkedList();
// riempi la lista di numeri a caso tra -30 e +30
ListIterator it_aggiunta = l.listIterator();
for ( int i = 0; i < elementi; i++ )
{
int rand = (int)Math.round
( Math.random() * 30 );
it_aggiunta.add( new Integer( rand ) );
}
// stampa tutti i valori
System.out.println( "-Collezione completa:" );
stampaCollezione( l );
}
private static void stampaCollezione
( Collection c )
{
Iterator i = c.iterator();
while ( i.hasNext() )
{
System.out.println( i.next() );
}
}
}
Testo:
Definire la classe SortedLinkedList che estende la classe LinkedList (vista a
lezione) PREMETTO CHE IO NON L'HO VISTA E NON SONO RIUSCITO AD AVERE APPUNTI
e che mantiene ordinata la lista: ridefinire il metodo add() affinché inserisca gli
elementi in ordine. Gli oggetti da inserire devono essere confrontabili e quindi devono
implementare l’interfaccia Comparable. Si ordini la lista in modo che il valore massimo
sia in testa (first) e il valore minimo in coda (last). Verificare la correttezza
dell’implementazione: per esempio usando sequenze di stringhe in ordine, in ordine inverso,
casuali, uguali. Verificare con sequenze di 21 elementi Integer casuali, con valori
compresi nell’intervallo [-30,30].
Questa e' la prima parte del codice.
Il mio primo problema e' capire come comprendere anche i numeri negativi nella lista random.
Il codice ne elenca 21 interi positivi.
Il secondo e' capire come ridefinire il metodo add() in una LinkedList???
import java.util.*;
public class TestLinkedList extends LinkedList
{
private static int elementi;
public static void main ( String []args )
{
if(args.length > 0)
elementi = Integer.parseInt(args[0]);
else
elementi = 21;
System.out.println( "Prova su " + elementi + "elementi." );
LinkedList l = new LinkedList();
// riempi la lista di numeri a caso tra -30 e +30
ListIterator it_aggiunta = l.listIterator();
for ( int i = 0; i < elementi; i++ )
{
int rand = (int)Math.round
( Math.random() * 30 );
it_aggiunta.add( new Integer( rand ) );
}
// stampa tutti i valori
System.out.println( "-Collezione completa:" );
stampaCollezione( l );
}
private static void stampaCollezione
( Collection c )
{
Iterator i = c.iterator();
while ( i.hasNext() )
{
System.out.println( i.next() );
}
}
}