kiwi.util
Class MergeSort

java.lang.Object
  extended bykiwi.util.MergeSort

public class MergeSort
extends java.lang.Object

An implementation of MergeSort, which can be subclassed to provide a comparator.

Author:
Scott Violet

Field Summary
private  Comparator comparator
           
private static Comparator defaultComparator
           
private  java.lang.Object[] swapSpace
           
private  java.lang.Object[] toSort
           
 
Constructor Summary
MergeSort()
          Construct a new MergeSort that will use a StringComparator.
MergeSort(Comparator comparator)
          Construct a new MergeSort that will use the specified comparator.
 
Method Summary
private  void merge(int begin, int middle, int end)
           
private  void mergeSort(int begin, int end)
           
 void setComparator(Comparator comparator)
          Set the comparator for sorting.
 void sort(java.lang.Object[] array)
          Sort an array of objects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

toSort

private java.lang.Object[] toSort

swapSpace

private java.lang.Object[] swapSpace

comparator

private Comparator comparator

defaultComparator

private static final Comparator defaultComparator
Constructor Detail

MergeSort

public MergeSort()
Construct a new MergeSort that will use a StringComparator.


MergeSort

public MergeSort(Comparator comparator)
Construct a new MergeSort that will use the specified comparator.

Parameters:
comparator - The comparator to use.
Method Detail

setComparator

public void setComparator(Comparator comparator)
Set the comparator for sorting.

Parameters:
comparator - The comparator to use.

sort

public void sort(java.lang.Object[] array)
Sort an array of objects.

Parameters:
array - The array to sort.

mergeSort

private void mergeSort(int begin,
                       int end)

merge

private void merge(int begin,
                   int middle,
                   int end)