java.lang.Object
com.aoapps.hodgepodge.sort.EQSort
- All Implemented Interfaces:
ComparisonSortAlgorithm<Object>,SortAlgorithm<Object>
An enhanced quick sort demonstration algorithm
SortAlgorithm.java, Thu Oct 27 10:32:35 1994
19 Feb 1996: Fixed to avoid infinite loop discoved by Paul Haberli.
Misbehaviour expressed when the pivot element was not unique.
-Jason Harrison
21 Jun 1996: Modified code based on comments from Paul Haeberli, and
Peter Schweizer (Peter.Schweizer@mni.fh-giessen.de).
Used Daeron Meyer's (daeron@geom.umn.edu) code for the
new pivoting code. - Jason Harrison
09 Jan 1998: Another set of bug fixes by Thomas Everth (everth@wave.co.nz)
and John Brzustowski (jbrzusto@gpu.srv.ualberta.ca).
Adapted from Jim Boritz' EQSortAlgorithm.
- Version:
- 1.0, 26 Jun 1995
- Author:
- Jim Boritz
-
Method Summary
Modifier and TypeMethodDescriptionprotected static <T> intcompare(List<T> list, int i, int j, Comparator<? super T> comparator, SortStatistics stats) protected static <T> intcompare(T[] array, int i, int j, Comparator<? super T> comparator, SortStatistics stats) protected static <T> intcompare(T o1, T o2, Comparator<? super T> comparator, SortStatistics stats) protected static <T> Tget(List<T> list, int i, SortStatistics stats) protected static <T> Tget(T[] array, int i, SortStatistics stats) static EQSortbooleanisStable()Checks if this is a stable sort.protected static <T> voidset(List<T> list, int i, T o, SortStatistics stats) protected static <T> voidset(T[] array, int i, T o, SortStatistics stats) <T extends E>
void<T extends E>
voidsort(List<T> list, SortStatistics stats) <T extends E>
voidsort(List<T> list, Comparator<? super T> comparator) <T> voidsort(List<T> list, Comparator<? super T> comparator, SortStatistics stats) <T extends E>
voidsort(T[] array) <T extends E>
voidsort(T[] array, SortStatistics stats) <T extends E>
voidsort(T[] array, Comparator<? super T> comparator) <T> voidsort(T[] array, Comparator<? super T> comparator, SortStatistics stats) protected static <T> voidswap(List<T> list, int i, int j, SortStatistics stats) protected static <T> voidswap(T[] array, int i, int j, SortStatistics stats)
-
Method Details
-
getInstance
-
isStable
public boolean isStable()Description copied from interface:SortAlgorithmChecks if this is a stable sort. A stable sort will keep elements with equal values in their same relative order. -
sort
- Specified by:
sortin interfaceComparisonSortAlgorithm<Object>
-
sort
- Specified by:
sortin interfaceComparisonSortAlgorithm<Object>
-
sort
- Specified by:
sortin interfaceSortAlgorithm<E>
-
sort
public <T extends E> void sort(T[] array) - Specified by:
sortin interfaceSortAlgorithm<E>
-
sort
- Specified by:
sortin interfaceSortAlgorithm<E>
-
sort
- Specified by:
sortin interfaceSortAlgorithm<E>
-
sort
- Specified by:
sortin interfaceComparisonSortAlgorithm<E>
-
sort
- Specified by:
sortin interfaceComparisonSortAlgorithm<E>
-
compare
protected static <T> int compare(List<T> list, int i, int j, Comparator<? super T> comparator, SortStatistics stats) -
compare
protected static <T> int compare(T[] array, int i, int j, Comparator<? super T> comparator, SortStatistics stats) -
compare
protected static <T> int compare(T o1, T o2, Comparator<? super T> comparator, SortStatistics stats) -
get
-
get
-
set
-
set
-
swap
-
swap
-
