package Temi; /**{p} * -- Temi -- * Universita' di Padova - * Diploma Universitario in Ingegneria Informatica * Corso di Fondamenti di Informatica 2 * Temi d'esame */ /**{f} * SortSL.java * Prova scritta del 15/2/2002 * * @version 1.00 02/02/11 * @author M.Moro DEI UPD */ import java.io.*; import FI2.Linear.*; import FI2.Util.*; public class SortSL extends SLList implements SortableList { public SortSL() { super(); } //[c]SortSL public void sort(Comparator comp) { SelSortList.sort(this, comp); } public static void main(String[] args) throws IOException { InputStream in; if (args.length == 0) { // default, stdin in = System.in; FI2Sys.out.println( "SortSL: " + "Battere almeno 6 interi (fine=Ctrl-Z)"); } else in = new FileInputStream(args[0]); /* StreamTokenizer(InputStream) e` un costruttore deprecato in JDK 1.1; viene sostituito inserendo uno StreamReader che converte la sequenza di byte in sequenza di caratteri */ Reader re = new BufferedReader(new InputStreamReader(in)); StreamTokenizer sIn = new StreamTokenizer(re); SortSL myList = new SortSL(); sIn.parseNumbers(); try { Integer next; int pos = 0; while(sIn.nextToken() != StreamTokenizer.TT_EOF) { if (sIn.ttype == StreamTokenizer.TT_NUMBER) { next = new Integer((int)sIn.nval); myList.insertLast(next); } //if else FI2Sys.out.println(sIn.sval + " non numero: non inserito"); } //while } //try catch (EOFException e) { // termina il ciclo } //catch(EOF) FI2Sys.out.println("List creato"); FI2Sys.out.println(myList); FI2Sys.out.println("size=" + myList.size()); myList.sort(new IntegerComparator()); FI2Sys.out.println("Dopo sort"); FI2Sys.out.println(myList); } //[m][s] main } //{c}{a} SortSL