FlexOr.searchAndSort
Class BubbleObs

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

public class BubbleObs
extends SortObservable
implements ArraySort

Sort an array of objects using bubble sort.

Version:
1.0 1999 Jan 15
Author:
Gunnar Gotshalks

Field Summary
 
Fields inherited from class FlexOr.searchAndSort.SortObservable
sortArray
 
Constructor Summary
BubbleObs(java.lang.Object[] array, BinaryPredicate bp)
           
 
Method Summary
 void execute(java.lang.Object[] array, BinaryPredicate bp)
          The bubble 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

BubbleObs

public BubbleObs(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 bubble sort method.

Loop invariant:

    for i : 0..array.length :: ( sorted(array[0..i-1])
      and for j = i .. arrayLength-1 :: array[i-1] bp array[j] )

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