java.lang.Object
speiger.src.collections.objects.utils.ObjectArrays
A Helper class for Arrays
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungstatic final intDefault Limit for Insertion/Selection Sortstatic final Object[]Empty Array Reference used for Uninitialized Collectionsstatic final intDefault Threshold for Multithreaded Sorting Algorythm options -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic <T> T[]heapify(T[] data, int size, Comparator<? super T> comp) Helper function to create a Heap out of an array.static <T> T[]insertionSort(T[] array) Sorts an array according to the natural ascending order using InsertionSort,static <T> voidinsertionSort(T[] array, int length) Sorts an array according to the natural ascending order using InsertionSort,static <T> voidinsertionSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using InsertionSort,static <T> voidinsertionSort(T[] array, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,static <T> voidinsertionSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,static <T> T[]insertionSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,static <T> T[]memFreeMergeSort(T[] array) Sorts an array according to the natural ascending order using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidmemFreeMergeSort(T[] array, int length) Sorts an array according to the natural ascending order using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidmemFreeMergeSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidmemFreeMergeSort(T[] array, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidmemFreeMergeSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidmemFreeMergeSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> T[]mergeSort(T[] array) Sorts an array according to the natural ascending order using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidmergeSort(T[] array, int length) Sorts an array according to the natural ascending order using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidmergeSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> T[]mergeSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidmergeSort(T[] array, T[] supp, int from, int to) Sorts an array according to the natural ascending order using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidmergeSort(T[] array, T[] supp, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> T[]Function to create a new Array of a given sizestatic <T> voidparallelMemFreeMergeSort(T[] array) Sorts an array according to the natural ascending order using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidparallelMemFreeMergeSort(T[] array, int length) Sorts an array according to the natural ascending order using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidparallelMemFreeMergeSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidparallelMemFreeMergeSort(T[] array, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidparallelMemFreeMergeSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidparallelMemFreeMergeSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array.static <T> voidparallelMergeSort(T[] array) Sorts an array according to the natural ascending order using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidparallelMergeSort(T[] array, int length) Sorts an array according to the natural ascending order using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidparallelMergeSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidparallelMergeSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using a Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidparallelMergeSort(T[] array, T[] supp, int from, int to) Sorts an array according to the natural ascending order using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidparallelMergeSort(T[] array, T[] supp, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizationsstatic <T> voidparallelQuickSort(T[] array) Sorts an array according to the natural ascending order using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidparallelQuickSort(T[] array, int length) Sorts an array according to the natural ascending order using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidparallelQuickSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidparallelQuickSort(T[] array, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidparallelQuickSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidparallelQuickSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> T[]pour(ObjectIterator<T> iter) A Helper function that pours all elements of a iterator into a Arraystatic <T> T[]pour(ObjectIterator<T> iter, int max) A Helper function that pours all elements of a iterator into a Arraystatic <T,E> E[] pour(ObjectIterator<T> iter, int max, IntFunction<E[]> action) A Helper function that pours all elements of a iterator into a Arraystatic <T,E> E[] pour(ObjectIterator<T> iter, IntFunction<E[]> action) A Helper function that pours all elements of a iterator into a Arraystatic <T> T[]quickSort(T[] array) Sorts an array according to the natural ascending order using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidquickSort(T[] array, int length) Sorts an array according to the natural ascending order using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidquickSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidquickSort(T[] array, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> voidquickSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> T[]quickSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L.static <T> T[]reverse(T[] array) Simple Array Reversal methodstatic <T> T[]reverse(T[] array, int length) Simple Array Reversal methodstatic <T> T[]reverse(T[] array, int offset, int length) Simple Array Reversal methodstatic <T> T[]selectionSort(T[] array) Sorts an array according to the natural ascending order using Selection Sort,static <T> voidselectionSort(T[] array, int length) Sorts an array according to the natural ascending order using Selection Sort,static <T> voidselectionSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Selection Sort,static <T> voidselectionSort(T[] array, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,static <T> voidselectionSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,static <T> T[]selectionSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,static <T> intshiftDown(T[] data, int size, int index, Comparator<? super T> comp) Method to validate if the current value is the lowest value in the heapstatic <T> intshiftUp(T[] data, int index, Comparator<? super T> comp) Method to sort a specific value into the heap.static <T> T[]shuffle(T[] array) Simple Shuffle method for Arrays.static <T> T[]shuffle(T[] array, int length) Simple Shuffle method for Arrays.static <T> T[]shuffle(T[] array, int offset, int length) Simple Shuffle method for Arrays.static <T> T[]shuffle(T[] array, int offset, int length, RandomGenerator random) Simple Shuffle method for Arrays.static <T> T[]shuffle(T[] array, int length, RandomGenerator random) Simple Shuffle method for Arrays.static <T> T[]shuffle(T[] array, RandomGenerator random) Simple Shuffle method for Arrays.static <T> T[]stableSort(T[] array) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> voidstableSort(T[] array, int length) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> voidstableSort(T[] array, int from, int to) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> voidstableSort(T[] array, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> voidstableSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> T[]stableSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> T[]unstableSort(T[] array) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> voidunstableSort(T[] array, int length) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> voidunstableSort(T[] array, int from, int to) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> voidunstableSort(T[] array, int from, int to, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> voidunstableSort(T[] array, int length, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array.static <T> T[]unstableSort(T[] array, Comparator<T> comp) Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array.
-
Felddetails
-
BASE_THRESHOLD
public static final int BASE_THRESHOLDDefault Limit for Insertion/Selection Sort- Siehe auch:
-
PARALLEL_THRESHOLD
public static final int PARALLEL_THRESHOLDDefault Threshold for Multithreaded Sorting Algorythm options- Siehe auch:
-
EMPTY_ARRAY
Empty Array Reference used for Uninitialized Collections
-
-
Konstruktordetails
-
ObjectArrays
public ObjectArrays()
-
-
Methodendetails
-
newArray
Function to create a new Array of a given size- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
clz- the class type of array that is requestedlength- the lenght the array should be.- Gibt zurück:
- a Array with the requested type and length
-
pour
A Helper function that pours all elements of a iterator into a Array- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
iter- the elements that should be gathered.- Gibt zurück:
- array with all elements of the iterator
-
pour
A Helper function that pours all elements of a iterator into a Array- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
iter- the elements that should be gathered.max- how many elements should be added- Gibt zurück:
- array with all requested elements of the iterator
-
pour
A Helper function that pours all elements of a iterator into a Array- Typparameter:
T- the keyType of array that the operation should be appliedE- the keyType of array that the operation should be applied- Parameter:
iter- the elements that should be gathered.action- that is creating the Array to be poured into- Gibt zurück:
- array with all elements of the iterator
-
pour
A Helper function that pours all elements of a iterator into a Array- Typparameter:
T- the keyType of array that the operation should be appliedE- the keyType of array that the operation should be applied- Parameter:
iter- the elements that should be gathered.max- how many elements should be addedaction- that is creating the Array to be poured into- Gibt zurück:
- array with all requested elements of the iterator
-
shiftDown
Method to validate if the current value is the lowest value in the heap- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
data- the current heap.size- the size of the heapindex- the index that should be validatedcomp- the comparator to sort the heap. Can be null- Gibt zurück:
- the index the element was shifted to
-
shiftUp
Method to sort a specific value into the heap.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
data- the heap itself.index- that should be heapified.comp- the comparator to sort the heap. Can be null- Gibt zurück:
- the index the element was shifted to
-
heapify
Helper function to create a Heap out of an array.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
data- the array to heapifysize- the current size of elements within the array.comp- the Comparator to sort the array. Can be null- Gibt zurück:
- the input array
-
shuffle
public static <T> T[] shuffle(T[] array) Simple Shuffle method for Arrays.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the elements that should be shuffled- Gibt zurück:
- the provided sorted array
- Note:
- This uses the SanityChecks#getRandom
-
shuffle
public static <T> T[] shuffle(T[] array, int length) Simple Shuffle method for Arrays.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the elements that should be shuffledlength- the length of the array- Gibt zurück:
- the provided sorted array
- Note:
- This uses the SanityChecks#getRandom
-
shuffle
public static <T> T[] shuffle(T[] array, int offset, int length) Simple Shuffle method for Arrays.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the elements that should be shuffledoffset- the start arraylength- the length of the array- Gibt zurück:
- the provided sorted array
- Note:
- This uses the SanityChecks#getRandom
-
shuffle
Simple Shuffle method for Arrays.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the elements that should be shuffledrandom- the Random Number Generator that should be used for the shuffling- Gibt zurück:
- the provided sorted array
-
shuffle
Simple Shuffle method for Arrays.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the elements that should be shuffledlength- the length of the arrayrandom- the Random Number Generator that should be used for the shuffling- Gibt zurück:
- the provided sorted array
-
shuffle
Simple Shuffle method for Arrays.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the elements that should be shuffledoffset- the start arraylength- the length of the arrayrandom- the Random Number Generator that should be used for the shuffling- Gibt zurück:
- the provided sorted array
-
reverse
public static <T> T[] reverse(T[] array) Simple Array Reversal method- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the Array that should flip- Gibt zurück:
- the provided array
-
reverse
public static <T> T[] reverse(T[] array, int length) Simple Array Reversal method- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the Array that should fliplength- the length of the array- Gibt zurück:
- the provided array
-
reverse
public static <T> T[] reverse(T[] array, int offset, int length) Simple Array Reversal method- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the Array that should flipoffset- the start of the arraylength- the length of the array- Gibt zurück:
- the provided array
-
stableSort
Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Stable sort referres to Mergesort or Insertionsort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Gibt zurück:
- input array.
-
stableSort
Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Stable sort referres to Mergesort or Insertionsort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order
-
stableSort
Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Stable sort referres to Mergesort or Insertionsort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order
-
stableSort
public static <T> T[] stableSort(T[] array) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Stable sort referres to Mergesort or Insertionsort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Gibt zurück:
- input array
-
stableSort
public static <T> void stableSort(T[] array, int length) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Stable sort referres to Mergesort or Insertionsort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted
-
stableSort
public static <T> void stableSort(T[] array, int from, int to) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Stable sort referres to Mergesort or Insertionsort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted to
-
unstableSort
Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Unstable sort referres to QuickSort or SelectionSort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Gibt zurück:
- input array
-
unstableSort
Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Unstable sort referres to QuickSort or SelectionSort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order
-
unstableSort
Sorts the specified range of elements according to the order induced by the specified comparator, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Unstable sort referres to QuickSort or SelectionSort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order
-
unstableSort
public static <T> T[] unstableSort(T[] array) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Unstable sort referres to QuickSort or SelectionSort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Gibt zurück:
- input array
-
unstableSort
public static <T> void unstableSort(T[] array, int length) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Unstable sort referres to QuickSort or SelectionSort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted
-
unstableSort
public static <T> void unstableSort(T[] array, int from, int to) Sorts an array according to the natural ascending order, potentially dynamically choosing an appropriate algorithm given the type and size of the array. Unstable sort referres to QuickSort or SelectionSort- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted to
-
insertionSort
Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Gibt zurück:
- input array
-
insertionSort
Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order
-
insertionSort
Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order
-
insertionSort
public static <T> T[] insertionSort(T[] array) Sorts an array according to the natural ascending order using InsertionSort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Gibt zurück:
- input array
-
insertionSort
public static <T> void insertionSort(T[] array, int length) Sorts an array according to the natural ascending order using InsertionSort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted
-
insertionSort
public static <T> void insertionSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using InsertionSort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted to
-
selectionSort
Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Gibt zurück:
- input array
-
selectionSort
Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order
-
selectionSort
Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order
-
selectionSort
public static <T> T[] selectionSort(T[] array) Sorts an array according to the natural ascending order using Selection Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Gibt zurück:
- input array
-
selectionSort
public static <T> void selectionSort(T[] array, int length) Sorts an array according to the natural ascending order using Selection Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted
-
selectionSort
public static <T> void selectionSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Selection Sort,- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted to
-
mergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Gibt zurück:
- input array
-
mergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order
-
mergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedsupp- the auxillary array that is used to simplify the sortingfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order
-
mergeSort
public static <T> T[] mergeSort(T[] array) Sorts an array according to the natural ascending order using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Gibt zurück:
- input array
-
mergeSort
public static <T> void mergeSort(T[] array, int length) Sorts an array according to the natural ascending order using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted
-
mergeSort
public static <T> void mergeSort(T[] array, T[] supp, int from, int to) Sorts an array according to the natural ascending order using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedsupp- the auxillary array that is used to simplify the sortingfrom- where the array should be sorted fromto- where the array should be sorted to
-
parallelMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using a Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedsupp- the auxillary array that is used to simplify the sortingfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMergeSort
public static <T> void parallelMergeSort(T[] array) Sorts an array according to the natural ascending order using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMergeSort
public static <T> void parallelMergeSort(T[] array, int length) Sorts an array according to the natural ascending order using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMergeSort
public static <T> void parallelMergeSort(T[] array, T[] supp, int from, int to) Sorts an array according to the natural ascending order using Parallel Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedsupp- the auxillary array that is used to simplify the sortingfrom- where the array should be sorted fromto- where the array should be sorted to- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
memFreeMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is in Very Unsorted Instances 50% slower then Mergesort, otherwise it as fast.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order
-
memFreeMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is in Very Unsorted Instances 50% slower then Mergesort, otherwise it as fast.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order
-
memFreeMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is in Very Unsorted Instances 50% slower then Mergesort, otherwise it as fast.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order
-
memFreeMergeSort
public static <T> T[] memFreeMergeSort(T[] array) Sorts an array according to the natural ascending order using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Gibt zurück:
- input array
-
memFreeMergeSort
public static <T> void memFreeMergeSort(T[] array, int length) Sorts an array according to the natural ascending order using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted
-
memFreeMergeSort
public static <T> void memFreeMergeSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted to
-
parallelMemFreeMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMemFreeMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMemFreeMergeSort
Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMemFreeMergeSort
public static <T> void parallelMemFreeMergeSort(T[] array) Sorts an array according to the natural ascending order using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMemFreeMergeSort
public static <T> void parallelMemFreeMergeSort(T[] array, int length) Sorts an array according to the natural ascending order using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelMemFreeMergeSort
public static <T> void parallelMemFreeMergeSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Parallel Memory Free Merge Sort, This implementation is inspired by FastUtil original merge sort, but without the need to allocate a copy of the original Array. It is depending on the size and the unsorted level of the input array slower or almost as fast as normal merge sort. Depending on the test size i can be 0.5x slower (5000 elements) or 4x slower (50000 elements) under the assumtion that the array is in its worst case scenario. It does stack allocate tiny amounts of data for shifting around elements.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted to- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
quickSort
Sorts the specified range of elements according to the order induced by the specified comparator using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Gibt zurück:
- input array
-
quickSort
Sorts the specified range of elements according to the order induced by the specified comparator using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order
-
quickSort
Sorts the specified range of elements according to the order induced by the specified comparator using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order
-
quickSort
public static <T> T[] quickSort(T[] array) Sorts an array according to the natural ascending order using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Gibt zurück:
- input array
-
quickSort
public static <T> void quickSort(T[] array, int length) Sorts an array according to the natural ascending order using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted
-
quickSort
public static <T> void quickSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted to
-
parallelQuickSort
Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedcomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelQuickSort
Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sortedcomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelQuickSort
Sorts the specified range of elements according to the order induced by the specified comparator using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted tocomp- the Comparator that decides the sorting order- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelQuickSort
public static <T> void parallelQuickSort(T[] array) Sorts an array according to the natural ascending order using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sorted- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelQuickSort
public static <T> void parallelQuickSort(T[] array, int length) Sorts an array according to the natural ascending order using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedlength- the maxmium size of the array to be sorted- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-
parallelQuickSort
public static <T> void parallelQuickSort(T[] array, int from, int to) Sorts an array according to the natural ascending order using Parallel Quick Sort, This implementation is a custom of FastUtil quicksort but with a different code structure, and that sorting Algorithm is based on the tuned quicksort adapted from Jon L. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.- Typparameter:
T- the keyType of array that the operation should be applied- Parameter:
array- the array that needs to be sortedfrom- where the array should be sorted fromto- where the array should be sorted to- Note:
- This parallelization is invoked through
SanityChecks.invokeTask(java.util.concurrent.ForkJoinTask<T>)which the threadpool can be changed as needed
-