FlexOr.searchAndSort
Class MergeObs

java.lang.Object
  extended by java.util.Observable
      extended by FlexOr.searchAndSort.SortObservable
          extended by FlexOr.searchAndSort.MergeObs
All Implemented Interfaces:
ArraySort, java.lang.Runnable

public class MergeObs
extends SortObservable
implements ArraySort

Sort an array of objects using mergesort.

Version:
1.0 1999 Jan 15
Author:
Gunnar Gotshalks

Field Summary
 java.lang.Integer[] mergeSpace
          Scratch space for the sort.
 
Fields inherited from class FlexOr.searchAndSort.SortObservable
sortArray
 
Constructor Summary
MergeObs(java.lang.Object[] array, java.lang.Integer[] mergeSpace, BinaryPredicate bp)
           
 
Method Summary
 void execute(java.lang.Object[] array, BinaryPredicate bp)
          The mergesort method.
 void sort(java.lang.Object[] array, BinaryPredicate bp)
           
 void start()
          Runnable interface start method to create a thread for each object of this class.
 
Methods inherited from class FlexOr.searchAndSort.SortObservable
run, step
 
Methods inherited from class java.util.Observable
addObserver, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mergeSpace

public java.lang.Integer[] mergeSpace
Scratch space for the sort.

Constructor Detail

MergeObs

public MergeObs(java.lang.Object[] array,
                java.lang.Integer[] mergeSpace,
                BinaryPredicate bp)
Method Detail

sort

public void sort(java.lang.Object[] array,
                 BinaryPredicate bp)
Specified by:
sort in interface ArraySort
Parameters:
array - Array of elements to be sorted.
bp - Defines how array elements are compared.

execute

public void execute(java.lang.Object[] array,
                    BinaryPredicate bp)
The mergesort method. Merge sort requires scratch space the same size as the array to sort which is used to merge subarrays.

Specified by:
execute in class SortObservable
Parameters:
array - Array of elements to be sorted.
bp - Defines how array elements are compared.

start

public void start()
Description copied from class: SortObservable
Runnable interface start method to create a thread for each object of this class.

Overrides:
start in class SortObservable