org.htmlparser.util.sort
Class Sort

java.lang.Object
  extended byorg.htmlparser.util.sort.Sort

public class Sort
extends java.lang.Object

A quick sort algorithm to sort Vectors or arrays. Provides sort and binary search capabilities.

This all goes away in JDK 1.2.


Method Summary
static int bsearch(Ordered[] array, Ordered ref)
          Binary search for an object
static int bsearch(Ordered[] array, Ordered ref, int lo, int hi)
          Binary search for an object
static int bsearch(Sortable set, Ordered ref)
          Binary search for an object
static int bsearch(Sortable set, Ordered ref, int lo, int hi)
          Binary search for an object
static int bsearch(java.util.Vector vector, Ordered ref)
          Binary search for an object
static int bsearch(java.util.Vector vector, Ordered ref, int lo, int hi)
          Binary search for an object
static java.lang.Object[] QuickSort(java.util.Hashtable h)
          Sort a Hashtable.
static void QuickSort(Ordered[] a)
          This is a generic version of C.A.R Hoare's Quick Sort algorithm.
static void QuickSort(Ordered[] a, int lo0, int hi0)
          This is a generic version of C.A.R Hoare's Quick Sort algorithm.
static void QuickSort(Sortable sortable)
          This is a generic version of C.A.R Hoare's Quick Sort algorithm.
static void QuickSort(Sortable sortable, int lo0, int hi0)
          This is a generic version of C.A.R Hoare's Quick Sort algorithm.
static void QuickSort(java.lang.String[] a)
          This is a string version of C.A.R Hoare's Quick Sort algorithm.
static void QuickSort(java.lang.String[] a, int lo0, int hi0)
          This is a string version of C.A.R Hoare's Quick Sort algorithm.
static void QuickSort(java.util.Vector v)
          This is a generic version of C.A.R Hoare's Quick Sort algorithm.
static void QuickSort(java.util.Vector v, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

QuickSort

public static void QuickSort(java.util.Vector v)
                      throws java.lang.ClassCastException
This is a generic version of C.A.R Hoare's Quick Sort algorithm. This will handle vectors that are already sorted, and vectors with duplicate keys. Equivalent to:
 QuickSort (v, 0, v.size () - 1);
 

Parameters:
v - A Vector of Ordered items.
Throws:
java.lang.ClassCastException - If the vector contains objects that are not Ordered.

QuickSort

public static void QuickSort(java.util.Vector v,
                             int lo0,
                             int hi0)
                      throws java.lang.ClassCastException
This is a generic version of C.A.R Hoare's Quick Sort algorithm. This will handle vectors that are already sorted, and vectors with duplicate keys.

If you think of a one dimensional vector 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.

Parameters:
v - A Vector of Ordered items.
lo0 - Left boundary of vector partition.
hi0 - Right boundary of vector partition.
Throws:
java.lang.ClassCastException - If the vector contains objects that are not Ordered.

QuickSort

public static void QuickSort(Ordered[] a)
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.

Equivalent to:

 QuickSort (a, 0, a.length - 1);
 

Parameters:
a - An array of Ordered items.

QuickSort

public static void QuickSort(Ordered[] 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.

Parameters:
a - An array of Ordered items.
lo0 - Left boundary of array partition.
hi0 - Right boundary of array partition.

QuickSort

public static void QuickSort(java.lang.String[] a)
This is a string version of C.A.R Hoare's Quick Sort algorithm. This will handle arrays that are already sorted, and arrays with duplicate keys.

Equivalent to:

 QuickSort (a, 0, a.length - 1);
 

Parameters:
a - An array of String items.

QuickSort

public static void QuickSort(java.lang.String[] a,
                             int lo0,
                             int hi0)
This is a string 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.

Parameters:
a - An array of String items.
lo0 - Left boundary of array partition.
hi0 - Right boundary of array partition.

QuickSort

public static void QuickSort(Sortable sortable,
                             int lo0,
                             int hi0)
This is a generic version of C.A.R Hoare's Quick Sort algorithm. This will handle Sortable objects that are already sorted, and Sortable objects with duplicate keys.

Parameters:
sortable - A Sortable object.
lo0 - Left boundary of partition.
hi0 - Right boundary of partition.

QuickSort

public static void QuickSort(Sortable sortable)
This is a generic version of C.A.R Hoare's Quick Sort algorithm. This will handle Sortable objects that are already sorted, and Sortable objects with duplicate keys.

Equivalent to:

 QuickSort (sortable, sortable.first (), sortable.last ());
 

Parameters:
sortable - A Sortable object.

QuickSort

public static java.lang.Object[] QuickSort(java.util.Hashtable h)
                                    throws java.lang.ClassCastException
Sort a Hashtable.

Parameters:
h - A Hashtable with String or Ordered keys.
Returns:
A sorted array of the keys.
Throws:
java.lang.ClassCastException - If the keys of the hashtable are not Ordered.

bsearch

public static int bsearch(Sortable set,
                          Ordered ref,
                          int lo,
                          int hi)
Binary search for an object

Parameters:
set - The collection of Ordered objects.
ref - The name to search for.
lo - The lower index within which to look.
hi - The upper index within which to look.
Returns:
The index at which reference was found or is to be inserted.

bsearch

public static int bsearch(Sortable set,
                          Ordered ref)
Binary search for an object

Parameters:
set - The collection of Ordered objects.
ref - The name to search for.
Returns:
The index at which reference was found or is to be inserted.

bsearch

public static int bsearch(java.util.Vector vector,
                          Ordered ref,
                          int lo,
                          int hi)
Binary search for an object

Parameters:
vector - The vector of Ordered objects.
ref - The name to search for.
lo - The lower index within which to look.
hi - The upper index within which to look.
Returns:
The index at which reference was found or is to be inserted.

bsearch

public static int bsearch(java.util.Vector vector,
                          Ordered ref)
Binary search for an object

Parameters:
vector - The vector of Ordered objects.
ref - The name to search for.
Returns:
The index at which reference was found or is to be inserted.

bsearch

public static int bsearch(Ordered[] array,
                          Ordered ref,
                          int lo,
                          int hi)
Binary search for an object

Parameters:
array - The array of Ordered objects.
ref - The name to search for.
lo - The lower index within which to look.
hi - The upper index within which to look.
Returns:
The index at which reference was found or is to be inserted.

bsearch

public static int bsearch(Ordered[] array,
                          Ordered ref)
Binary search for an object

Parameters:
array - The array of Ordered objects.
ref - The name to search for.
Returns:
The index at which reference was found or is to be inserted.