Class Quicksort

java.lang.Object
  extended by Quicksort

public class Quicksort
extends java.lang.Object

The Quicksort Java application illustrates a quicksort. Part of the implementation (the partition method) is left as a student exercise.

Note:
This file contains only blank implementations ("stubs") because this is a Programming Project for my students.

Java Source Code for this class (without partition:
http://www.cs.colorado.edu/~main/applications/Quicksort.java


Constructor Summary
Quicksort()
           
 
Method Summary
static void main(java.lang.String[] args)
          The main method illustrates the use of a quicksort to sort a small array.
static void quicksort(int[] data, int first, int n)
          This method cannot be used until the student implements partition.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Quicksort

public Quicksort()
Method Detail

main

public static void main(java.lang.String[] args)
The main method illustrates the use of a quicksort to sort a small array. The String arguments (args) are not used in this implementation.


quicksort

public static void quicksort(int[] data,
                             int first,
                             int n)
This method cannot be used until the student implements partition. Sort an array of integers from smallest to largest, using a quicksort algorithm.

Parameters:
data - the array to be sorted
first - the start index for the portion of the array that will be sorted
n - the number of elements to sort
Precondition:
data[first] through data[first+n-1] are valid parts of the array.
Postcondition:
If n is zero or negative then no work is done. Otherwise, the elements of data have been rearranged so that data[first] <= data[first+1] <= ... <= data[first+n-1].
Throws:
java.lang.ArrayIndexOutOfBoundsException - Indicates that first+n-1 is an index beyond the end of the array.