import java.util.*; /** * Testet unsere Klasse Quicksort * * @author (Dominic Lehle) * @version (27.01.08) */ public class Test { public static void main(String[] args) { Quicksort.PivotSelection test1 = Quicksort.PivotSelection.erstes; Quicksort.PivotSelection test2 = Quicksort.PivotSelection.mitte; Quicksort.PivotSelection test3 = Quicksort.PivotSelection.letztes; Quicksort.PivotSelection test4 = Quicksort.PivotSelection.zufall; Quicksort.PivotSelection test5 = Quicksort.PivotSelection.median; String array1[] = zufallszahlen(1000000); String[] array2=Arrays.copyOf( array1, array1.length ); String[] array3=Arrays.copyOf( array1, array1.length ); String[] array4=Arrays.copyOf( array1, array1.length ); String[] array5=Arrays.copyOf( array1, array1.length ); System.out.println("Test1 mit Methode1 :"); long zeit1 = System.currentTimeMillis(); Quicksort.quicksort(array1,0,array1.length-1,test1); zeit1 = System.currentTimeMillis()-zeit1; System.out.println("Zeit vergangen in ms : " + zeit1 ); System.out.println("Ist der Array richtig sortiert? - " + richtigsortiert(array1)); System.out.println("\n" + "//////////////////////"); System.out.println("Test2 mit Methode2 :"); long zeit2 = System.currentTimeMillis(); Quicksort.quicksort(array2,0,array2.length-1,test2); zeit2 = System.currentTimeMillis()-zeit2; System.out.println("Zeit vergangen in ms : " + zeit2 ); System.out.println("Ist der Array richtig sortiert? - " + richtigsortiert(array2)); System.out.println("\n" + "//////////////////////"); System.out.println("Test3 mit Methode3 :"); long zeit3 = System.currentTimeMillis(); Quicksort.quicksort(array3,0,array3.length-1,test3); zeit3 = System.currentTimeMillis()-zeit3; System.out.println("Zeit vergangen in ms : " + zeit3); System.out.println("Ist der Array richtig sortiert? - " + richtigsortiert(array3)); System.out.println("\n" + "//////////////////////"); System.out.println("Test4 mit Methode4 :"); long zeit4 = System.currentTimeMillis(); Quicksort.quicksort(array4,0,array4.length-1,test4); zeit4 = System.currentTimeMillis()-zeit4; System.out.println("Zeit vergangen in ms : " + zeit4); System.out.println("Ist der Array richtig sortiert? - " + richtigsortiert(array4)); System.out.println("\n" + "//////////////////////"); System.out.println("Test5 mit Methode5 :"); long zeit5 = System.currentTimeMillis(); Quicksort.quicksort(array5,0,array5.length-1,test5); zeit5 = System.currentTimeMillis()-zeit5; System.out.println("Zeit vergangen in ms : " + zeit5); System.out.println("Ist der Array richtig sortiert? - " + richtigsortiert(array5)); } /** * erzeugt eine Zufallszahl (2 stellig) */ public static int zufallszahl() { Random zufallsgenerator; zufallsgenerator = new Random(); int index = zufallsgenerator.nextInt(); index = index/100000000; if (index<0) { index= index * -1; } return index; } /** * erzeugt einen String von Zufallszahlen * @param Anzahl der zufallszahlen * @return String Array mit zufallszahlen */ public static String[] zufallszahlen(int n) { String[] Zufall; Zufall = new String[n]; String temp; for (int i = 0 ; i < n; i++) { int f = zufallszahl(); temp = (new Integer(f)).toString(); Zufall[i]= temp; } return Zufall; } public static < T extends Comparable > boolean richtigsortiert(T array[]) { boolean a=false; for( int i=0 ; i < array.length-1 ; i++ ) { if (array[i].compareTo(array[i+1])<0) { a= true; } else { } } return a; } }