Class MergeSort<E>
java.lang.Object
org.magicwerk.brownies.collections.helper.MergeSort<E>
This class implements a stable in-place merge sort.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate 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(List<E> list, Comparator<? super E> comparator) static <E> voidsort(List<E> list, Comparator<? super E> comparator, int from, int to) private voidswap(int idx1, int idx2) private intupper(int from, int to, int val)
-
Field Details
-
list
-
comparator
Comparator<? super E> comparator
-
-
Constructor Details
-
MergeSort
-
-
Method Details
-
sort
-
sort
-
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)
-