org.logicalcobwebs.cglib.util
Class SorterTemplate

java.lang.Object
  extended by org.logicalcobwebs.cglib.util.SorterTemplate
Direct Known Subclasses:
ParallelSorter

abstract class SorterTemplate
extends java.lang.Object


Field Summary
private static int MERGESORT_THRESHOLD
           
private static int QUICKSORT_THRESHOLD
           
 
Constructor Summary
SorterTemplate()
           
 
Method Summary
protected abstract  int compare(int i, int j)
           
private  void insertionSort(int lo, int hi)
           
private  int lower(int lo, int hi, int val)
           
private  void merge(int lo, int pivot, int hi, int len1, int len2)
           
protected  void mergeSort(int lo, int hi)
           
protected  void quickSort(int lo, int hi)
           
private  void quickSortHelper(int lo, int hi)
           
private  void rotate(int lo, int mid, int hi)
           
protected abstract  void swap(int i, int j)
           
private  int upper(int lo, int hi, int val)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MERGESORT_THRESHOLD

private static final int MERGESORT_THRESHOLD
See Also:
Constant Field Values

QUICKSORT_THRESHOLD

private static final int QUICKSORT_THRESHOLD
See Also:
Constant Field Values
Constructor Detail

SorterTemplate

SorterTemplate()
Method Detail

swap

protected abstract void swap(int i,
                             int j)

compare

protected abstract int compare(int i,
                               int j)

quickSort

protected void quickSort(int lo,
                         int hi)

quickSortHelper

private void quickSortHelper(int lo,
                             int hi)

insertionSort

private void insertionSort(int lo,
                           int hi)

mergeSort

protected void mergeSort(int lo,
                         int hi)

merge

private void merge(int lo,
                   int pivot,
                   int hi,
                   int len1,
                   int len2)

rotate

private void rotate(int lo,
                    int mid,
                    int hi)

lower

private int lower(int lo,
                  int hi,
                  int val)

upper

private int upper(int lo,
                  int hi,
                  int val)