FlexOr.searchAndSort
Class InsertObs

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

public class InsertObs
extends SortObservable
implements ArraySort

Sort an array of objects using insert sort.

Version:
1.0 1999 Jan 15
Author:
Gunnar Gotshalks

Field Summary
 
Fields inherited from class FlexOr.searchAndSort.SortObservable
sortArray
 
Constructor Summary
InsertObs(java.lang.Object[] array, BinaryPredicate bp)
           
 
Method Summary
 void execute(java.lang.Object[] array, BinaryPredicate bp)
          The insert sort method.
 void sort(java.lang.Object[] array, BinaryPredicate bp)
           
 
Methods inherited from class FlexOr.searchAndSort.SortObservable
run, start, 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
 

Constructor Detail

InsertObs

public InsertObs(java.lang.Object[] array,
                 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 insert sort method.

Loop invariant:

    for i : 0..array.length :: ( sorted(array[0..i-1])

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