net.sf.saxon.sort
Class QuickSort

java.lang.Object
  extended by net.sf.saxon.sort.QuickSort

public abstract class QuickSort
extends Object

This is a generic version of C.A.R Hoare's Quick Sort algorithm. This will handle arrays that are already sorted, and arrays with duplicate keys.

Author:
Patrick C. Beard (beard@netscape.com) Java Runtime Enthusiast -- "Will invoke interfaces for food." This code reached me (Michael Kay) via meteko.com; I'm assuming that it's OK to use because they copied it freely to me. Modified by MHK in May 2001 to sort any object that implements the Sortable interface, not only an array.

Constructor Summary
QuickSort()
           
 
Method Summary
static void sort(Sortable a, int lo0, int hi0)
          This is a generic version of C.A.R Hoare's Quick Sort algorithm.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuickSort

public QuickSort()
Method Detail

sort

public static void sort(Sortable a,
                        int lo0,
                        int hi0)
This is a generic version of C.A.R Hoare's Quick Sort algorithm. This will handle arrays that are already sorted, and arrays with duplicate keys.
If you think of a one dimensional array as going from the lowest index on the left to the highest index on the right then the parameters to this function are lowest index or left and highest index or right. The first time you call this function it will be with the parameters 0, a.length - 1.

Parameters:
a - a Sortable object
lo0 - index of first element (initially typically 0)
hi0 - index of last element (initially typically length-1)


Copyright (C) Michael H. Kay. All rights reserved.