holoedit.util
Class AbstractVectorSort<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.Vector<E>
              extended by holoedit.util.AbstractVectorSort<E>
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>, java.util.RandomAccess
Direct Known Subclasses:
AlgoVector, HoloPointVector, HoloTrajVector, IntegerVector, SDIFdataInstanceVector, WaveFormInstanceVector

public abstract class AbstractVectorSort<E>
extends java.util.Vector<E>

abstract class for implementing sorted vectors of any type just need to define the greaterThan method

See Also:
Serialized Form

Field Summary
 boolean changes
          report whether or not the vector has been changed by sorting
 
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
AbstractVectorSort()
           
AbstractVectorSort(int cap)
           
AbstractVectorSort(int cap, int inc)
           
AbstractVectorSort(java.util.Vector<E> v)
           
 
Method Summary
 boolean add(E element)
           
 java.util.Vector<E> getVector()
           
 boolean greaterThan(E obj1, E obj2)
          rules for sorting elements true if obj1 > obj2
 boolean greaterThanOrEqual(E obj1, E obj2)
          rules for sorting elements true if obj1 > obj2
 void insertSort(E element)
          insert an element at the right index in the vector
abstract  boolean lessThan(E obj1, E obj2)
          rules for sorting elements true if obj1 < obj2
abstract  boolean lessThanOrEqual(E obj1, E obj2)
          rules for sorting elements true if obj1 <= obj2
private  void quickSort(int left, int right)
           
 boolean sort()
           
abstract  java.util.Vector<E> sort(java.util.Vector<E> v)
           
private  void swap(int loc1, int loc2)
           
 
Methods inherited from class java.util.Vector
add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
iterator, listIterator, listIterator
 

Field Detail

changes

public boolean changes
report whether or not the vector has been changed by sorting

Constructor Detail

AbstractVectorSort

public AbstractVectorSort()

AbstractVectorSort

public AbstractVectorSort(int cap)

AbstractVectorSort

public AbstractVectorSort(int cap,
                          int inc)

AbstractVectorSort

public AbstractVectorSort(java.util.Vector<E> v)
Method Detail

getVector

public java.util.Vector<E> getVector()

lessThan

public abstract boolean lessThan(E obj1,
                                 E obj2)
rules for sorting elements true if obj1 < obj2


lessThanOrEqual

public abstract boolean lessThanOrEqual(E obj1,
                                        E obj2)
rules for sorting elements true if obj1 <= obj2


greaterThan

public boolean greaterThan(E obj1,
                           E obj2)
rules for sorting elements true if obj1 > obj2


greaterThanOrEqual

public boolean greaterThanOrEqual(E obj1,
                                  E obj2)
rules for sorting elements true if obj1 > obj2


insertSort

public void insertSort(E element)
insert an element at the right index in the vector


add

public boolean add(E element)
Specified by:
add in interface java.util.Collection<E>
Specified by:
add in interface java.util.List<E>
Overrides:
add in class java.util.Vector<E>

sort

public boolean sort()

quickSort

private void quickSort(int left,
                       int right)

swap

private void swap(int loc1,
                  int loc2)

sort

public abstract java.util.Vector<E> sort(java.util.Vector<E> v)