public abstract class SorterTemplate extends Object
Constructor and Description |
---|
SorterTemplate() |
Modifier and Type | Method and Description |
---|---|
void |
binarySort(int lo,
int hi)
Sorts via stable in-place BinarySort algorithm (O(n2))
(ideal for small collections which are in random order).
|
protected abstract int |
compare(int i,
int j)
Compares slots
i and j of you data. |
protected abstract int |
comparePivot(int j)
Implements the compare function for the previously stored pivot value.
|
void |
insertionSort(int lo,
int hi)
Sorts via stable in-place InsertionSort algorithm (O(n2))
(ideal for small collections which are mostly presorted).
|
protected void |
merge(int lo,
int pivot,
int hi,
int len1,
int len2)
Merge the slices [lo-pivot[ (of length len1) and [pivot-hi[ (of length
len2) which are already sorted.
|
void |
mergeSort(int lo,
int hi)
Sorts via stable in-place MergeSort algorithm
For small collections falls back to
insertionSort(int,int) . |
void |
quickSort(int lo,
int hi)
Sorts via in-place, but unstable, QuickSort algorithm.
|
protected abstract void |
setPivot(int i)
Implement this method, that stores the value of slot
i as pivot value |
protected abstract void |
swap(int i,
int j)
Implement this method, that swaps slots
i and j in your data |
void |
timSort(int lo,
int hi)
Sorts using TimSort, see
also source code.
|
protected abstract void swap(int i, int j)
i
and j
in your dataprotected abstract int compare(int i, int j)
i
and j
of you data.
Should be implemented like valueOf(i).compareTo(valueOf(j))
protected abstract void setPivot(int i)
i
as pivot valueprotected abstract int comparePivot(int j)
pivot.compareTo(valueOf(j))
public final void insertionSort(int lo, int hi)
public final void binarySort(int lo, int hi)
public final void quickSort(int lo, int hi)
insertionSort(int,int)
.public final void timSort(int lo, int hi)
binarySort(int, int)
.public final void mergeSort(int lo, int hi)
insertionSort(int,int)
.protected void merge(int lo, int pivot, int hi, int len1, int len2)
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.