Class DoubleMergeSort
- java.lang.Object
-
- org.magicwerk.brownies.collections.helper.primitive.DoubleMergeSort
-
public class DoubleMergeSort extends java.lang.ObjectThis class implements a stable in-place merge sort.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) IDoubleListlist
-
Constructor Summary
Constructors Modifier Constructor Description privateDoubleMergeSort(IDoubleList list)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private intcompare(int idx1, int idx2)private intgcd(int m, int n)private voidinsertSort(int from, int to)private intlower(int from, int to, int val)private voidmerge(int from, int pivot, int to, int len1, int len2)private voidrotate(int from, int mid, int to)private voidsort()private voidsort(int from, int to)static <E> voidsort(IDoubleList list)static <E> voidsort(IDoubleList list, int from, int to)private voidswap(int idx1, int idx2)private intupper(int from, int to, int val)
-
-
-
Field Detail
-
list
IDoubleList list
-
-
Constructor Detail
-
DoubleMergeSort
private DoubleMergeSort(IDoubleList list)
-
-
Method Detail
-
sort
public static <E> void sort(IDoubleList list)
-
sort
public static <E> void sort(IDoubleList list, int from, int to)
-
sort
private void sort()
-
sort
private void sort(int from, int to)
-
compare
private int compare(int idx1, int idx2)
-
swap
private void swap(int idx1, int idx2)
-
lower
private int lower(int from, int to, int val)
-
upper
private int upper(int from, int to, int val)
-
insertSort
private void insertSort(int from, int to)
-
gcd
private int gcd(int m, int n)
-
rotate
private void rotate(int from, int mid, int to)
-
merge
private void merge(int from, int pivot, int to, int len1, int len2)
-
-