org.htmlparser.util.sort

Class Sort


public class Sort
extends Object

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

This all goes away in JDK 1.2.

Version:
1.4, 11 June, 1997
Authors:
James Gosling
Kevin A. Smith
Derrick Oswald

Method Summary

static Object[]
QuickSort(Hashtable h)
Sort a Hashtable.
static void
QuickSort(String[] a)
This is a string version of C.A.R Hoare's Quick Sort algorithm.
static void
QuickSort(String[] a, int lo0, int hi0)
This is a string version of C.A.R Hoare's Quick Sort algorithm.
static void
QuickSort(Vector v)
This is a generic version of C.A.R Hoare's Quick Sort algorithm.
static void
QuickSort(Vector v, int lo0, int hi0)
This is a generic version of C.A.R Hoare's Quick Sort algorithm.
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 int
bsearch(Vector vector, Ordered ref)
Binary search for an object
static int
bsearch(Vector vector, Ordered ref, int lo, int hi)
Binary search for an object
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

Method Details

QuickSort

public static Object[] QuickSort(Hashtable h)
            throws ClassCastException
Sort a Hashtable.
Parameters:
h - A Hashtable with String or Ordered keys.
Returns:
A sorted array of the keys.

QuickSort

public static void QuickSort(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(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(Vector v)
            throws 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.

QuickSort

public static void QuickSort(Vector v,
                             int lo0,
                             int hi0)
            throws 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.

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(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 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.

bsearch

public static int bsearch(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(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(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.

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(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(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.

HTML Parser is an open source library released under LGPL. SourceForge.net