public class QuickSortTest { // Accepts a random number seed as an optional argument. public static void main(String[] args) { int[] a; QuickSort sorter; long seed = System.currentTimeMillis(); // parse the string argument - if it is a valid long, // use it as the random number generator seed value try { if ( args.length > 0 ) seed = Long.parseLong( args[0] ); } catch ( NumberFormatException exception ) { System.out.println("Optional argument was not a number.\n" + "Choose a seed for the random number generator."); } System.out.println("Random array:"); a = ArrayUtil.randomIntArray(20, 100, seed); ArrayUtil.print(a); sorter = new QuickSort(a); sorter.sort(); ArrayUtil.print(a); System.out.println("\nAlready sorted array:"); a = ArrayUtil.ascendingIntArray(20); ArrayUtil.print(a); sorter = new QuickSort(a); sorter.sort(); ArrayUtil.print(a); System.out.println("\nReverse sorted array:"); a = ArrayUtil.descendingIntArray(20); ArrayUtil.print(a); sorter = new QuickSort(a); sorter.sort(); ArrayUtil.print(a); System.out.println("\nArray sorted by halves:"); a = ArrayUtil.doubleAscendingIntArray(20); ArrayUtil.print(a); sorter = new QuickSort(a); sorter.sort(); ArrayUtil.print(a); System.out.println("\nSorted array except for first element:"); a = ArrayUtil.firstOutOfOrderIntArray(20); ArrayUtil.print(a); sorter = new QuickSort(a); sorter.sort(); ArrayUtil.print(a); System.out.println("\nArray of mostly equal values:"); a = ArrayUtil.mostEqualIntArray(20, 100); ArrayUtil.print(a); sorter = new QuickSort(a); sorter.sort(); ArrayUtil.print(a); } }