java.lang.Object
speiger.src.collections.chars.utils.CharArrays

public class CharArrays extends Object
A Helper class for Arrays
  • Feldübersicht

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    static final int
    Default Limit for Insertion/Selection Sort
    static final char[]
    Empty Array Reference used for Uninitialized Collections
    static final int
    Default Threshold for Multithreaded Sorting Algorythm options
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
     
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    static char[]
    heapify(char[] data, int size, CharComparator comp)
    Helper function to create a Heap out of an array.
    static char[]
    insertionSort(char[] array)
    Sorts an array according to the natural ascending order using InsertionSort,
    static void
    insertionSort(char[] array, int length)
    Sorts an array according to the natural ascending order using InsertionSort,
    static void
    insertionSort(char[] array, int from, int to)
    Sorts an array according to the natural ascending order using InsertionSort,
    static void
    insertionSort(char[] array, int from, int to, CharComparator comp)
    Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,
    static void
    insertionSort(char[] array, int length, CharComparator comp)
    Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,
    static char[]
    insertionSort(char[] array, CharComparator comp)
    Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,
    static char[]
    memFreeMergeSort(char[] 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 void
    memFreeMergeSort(char[] 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 void
    memFreeMergeSort(char[] 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 void
    memFreeMergeSort(char[] array, int from, int to, CharComparator 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 void
    memFreeMergeSort(char[] array, int length, CharComparator 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 void
    memFreeMergeSort(char[] array, CharComparator 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 char[]
    mergeSort(char[] array)
    Sorts an array according to the natural ascending order using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations
    static void
    mergeSort(char[] array, char[] 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
    static void
    mergeSort(char[] array, char[] supp, int from, int to, CharComparator 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 optimizations
    static void
    mergeSort(char[] 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
    static void
    mergeSort(char[] array, int length, CharComparator 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 optimizations
    static char[]
    mergeSort(char[] array, CharComparator 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 optimizations
    static void
    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 void
    parallelMemFreeMergeSort(char[] 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 void
    parallelMemFreeMergeSort(char[] 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 void
    parallelMemFreeMergeSort(char[] array, int from, int to, CharComparator 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 void
    parallelMemFreeMergeSort(char[] array, int length, CharComparator 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 void
    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 void
    parallelMergeSort(char[] 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
    static void
    parallelMergeSort(char[] array, char[] 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
    static void
    parallelMergeSort(char[] array, char[] supp, int from, int to, CharComparator 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 optimizations
    static void
    parallelMergeSort(char[] 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
    static void
    parallelMergeSort(char[] array, int length, CharComparator 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 optimizations
    static void
    parallelMergeSort(char[] array, CharComparator 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 optimizations
    static void
    parallelQuickSort(char[] 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 void
    parallelQuickSort(char[] 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 void
    parallelQuickSort(char[] 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 void
    parallelQuickSort(char[] array, int from, int to, CharComparator 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 void
    parallelQuickSort(char[] array, int length, CharComparator 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 void
    parallelQuickSort(char[] array, CharComparator 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 char[]
    A Helper function that pours all elements of a iterator into a Array
    static char[]
    pour(CharIterator iter, int max)
    A Helper function that pours all elements of a iterator into a Array
    static char[]
    quickSort(char[] 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 void
    quickSort(char[] 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 void
    quickSort(char[] 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 void
    quickSort(char[] array, int from, int to, CharComparator 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 void
    quickSort(char[] array, int length, CharComparator 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 char[]
    quickSort(char[] array, CharComparator 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 char[]
    reverse(char[] array)
    Simple Array Reversal method
    static char[]
    reverse(char[] array, int length)
    Simple Array Reversal method
    static char[]
    reverse(char[] array, int offset, int length)
    Simple Array Reversal method
    static char[]
    selectionSort(char[] array)
    Sorts an array according to the natural ascending order using Selection Sort,
    static void
    selectionSort(char[] array, int length)
    Sorts an array according to the natural ascending order using Selection Sort,
    static void
    selectionSort(char[] array, int from, int to)
    Sorts an array according to the natural ascending order using Selection Sort,
    static void
    selectionSort(char[] array, int from, int to, CharComparator comp)
    Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,
    static void
    selectionSort(char[] array, int length, CharComparator comp)
    Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,
    static char[]
    selectionSort(char[] array, CharComparator comp)
    Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,
    static int
    shiftDown(char[] data, int size, int index, CharComparator comp)
    Method to validate if the current value is the lowest value in the heap
    static int
    shiftUp(char[] data, int index, CharComparator comp)
    Method to sort a specific value into the heap.
    static char[]
    shuffle(char[] array)
    Simple Shuffle method for Arrays.
    static char[]
    shuffle(char[] array, int length)
    Simple Shuffle method for Arrays.
    static char[]
    shuffle(char[] array, int offset, int length)
    Simple Shuffle method for Arrays.
    static char[]
    shuffle(char[] array, int offset, int length, RandomGenerator random)
    Simple Shuffle method for Arrays.
    static char[]
    shuffle(char[] array, int length, RandomGenerator random)
    Simple Shuffle method for Arrays.
    static char[]
    shuffle(char[] array, RandomGenerator random)
    Simple Shuffle method for Arrays.
    static char[]
    stableSort(char[] 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 void
    stableSort(char[] 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 void
    stableSort(char[] 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 void
    stableSort(char[] array, int from, int to, CharComparator 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 void
    stableSort(char[] array, int length, CharComparator 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 char[]
    stableSort(char[] array, CharComparator 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 char[]
    unstableSort(char[] 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 void
    unstableSort(char[] 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 void
    unstableSort(char[] 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 void
    unstableSort(char[] array, int from, int to, CharComparator 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 void
    unstableSort(char[] array, int length, CharComparator 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 char[]
    unstableSort(char[] array, CharComparator 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 char[]
    A Helper function to convert a Character Array to a char Array.
    static char[]
    unwrap(Character[] a, int length)
    A Helper function to convert a Character Array to a char Array.
    static char[]
    unwrap(Character[] a, int offset, int length)
    A Helper function to convert a Character Array to a char Array.
    static Character[]
    wrap(char[] a)
    A Helper function to convert a Primitive Array to a Character Array.
    static Character[]
    wrap(char[] a, int length)
    A Helper function to convert a Primitive Array to a Character Array.
    static Character[]
    wrap(char[] a, int offset, int length)
    A Helper function to convert a Primitive Array to a Character Array.

    Von Klasse geerbte Methoden java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Felddetails

    • BASE_THRESHOLD

      public static final int BASE_THRESHOLD
      Default Limit for Insertion/Selection Sort
      Siehe auch:
    • PARALLEL_THRESHOLD

      public static final int PARALLEL_THRESHOLD
      Default Threshold for Multithreaded Sorting Algorythm options
      Siehe auch:
    • EMPTY_ARRAY

      public static final char[] EMPTY_ARRAY
      Empty Array Reference used for Uninitialized Collections
  • Konstruktordetails

    • CharArrays

      public CharArrays()
  • Methodendetails

    • wrap

      public static Character[] wrap(char[] a)
      A Helper function to convert a Primitive Array to a Character Array.
      Parameter:
      a - the array that should be converted
      Gibt zurück:
      a Character Array of the input array.
    • wrap

      public static Character[] wrap(char[] a, int length)
      A Helper function to convert a Primitive Array to a Character Array.
      Parameter:
      a - the array that should be converted
      length - the maximum length that should be coverted
      Gibt zurück:
      a Character Array of the input array.
    • wrap

      public static Character[] wrap(char[] a, int offset, int length)
      A Helper function to convert a Primitive Array to a Character Array.
      Parameter:
      a - the array that should be converted
      offset - the starting offset of the inputarray
      length - the maximum length that should be coverted
      Gibt zurück:
      a Character Array of the input array.
    • unwrap

      public static char[] unwrap(Character[] a)
      A Helper function to convert a Character Array to a char Array.
      Parameter:
      a - the array that should be converted
      Gibt zurück:
      a char Array of the input array.
    • unwrap

      public static char[] unwrap(Character[] a, int length)
      A Helper function to convert a Character Array to a char Array.
      Parameter:
      a - the array that should be converted
      length - the maximum length that should be coverted
      Gibt zurück:
      a char Array of the input array.
    • unwrap

      public static char[] unwrap(Character[] a, int offset, int length)
      A Helper function to convert a Character Array to a char Array.
      Parameter:
      a - the array that should be converted
      offset - the starting offset of the inputarray
      length - the maximum length that should be coverted
      Gibt zurück:
      a char Array of the input array.
    • pour

      public static char[] pour(CharIterator iter)
      A Helper function that pours all elements of a iterator into a Array
      Parameter:
      iter - the elements that should be gathered.
      Gibt zurück:
      array with all elements of the iterator
    • pour

      public static char[] pour(CharIterator iter, int max)
      A Helper function that pours all elements of a iterator into a Array
      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
    • shiftDown

      public static int shiftDown(char[] data, int size, int index, CharComparator comp)
      Method to validate if the current value is the lowest value in the heap
      Parameter:
      data - the current heap.
      size - the size of the heap
      index - the index that should be validated
      comp - the comparator to sort the heap. Can be null
      Gibt zurück:
      the index the element was shifted to
    • shiftUp

      public static int shiftUp(char[] data, int index, CharComparator comp)
      Method to sort a specific value into the heap.
      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

      public static char[] heapify(char[] data, int size, CharComparator comp)
      Helper function to create a Heap out of an array.
      Parameter:
      data - the array to heapify
      size - 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 char[] shuffle(char[] array)
      Simple Shuffle method for Arrays.
      Parameter:
      array - the elements that should be shuffled
      Gibt zurück:
      the provided sorted array
      Note:
      This uses the SanityChecks#getRandom
    • shuffle

      public static char[] shuffle(char[] array, int length)
      Simple Shuffle method for Arrays.
      Parameter:
      array - the elements that should be shuffled
      length - the length of the array
      Gibt zurück:
      the provided sorted array
      Note:
      This uses the SanityChecks#getRandom
    • shuffle

      public static char[] shuffle(char[] array, int offset, int length)
      Simple Shuffle method for Arrays.
      Parameter:
      array - the elements that should be shuffled
      offset - the start array
      length - the length of the array
      Gibt zurück:
      the provided sorted array
      Note:
      This uses the SanityChecks#getRandom
    • shuffle

      public static char[] shuffle(char[] array, RandomGenerator random)
      Simple Shuffle method for Arrays.
      Parameter:
      array - the elements that should be shuffled
      random - the Random Number Generator that should be used for the shuffling
      Gibt zurück:
      the provided sorted array
    • shuffle

      public static char[] shuffle(char[] array, int length, RandomGenerator random)
      Simple Shuffle method for Arrays.
      Parameter:
      array - the elements that should be shuffled
      length - the length of the array
      random - the Random Number Generator that should be used for the shuffling
      Gibt zurück:
      the provided sorted array
    • shuffle

      public static char[] shuffle(char[] array, int offset, int length, RandomGenerator random)
      Simple Shuffle method for Arrays.
      Parameter:
      array - the elements that should be shuffled
      offset - the start array
      length - the length of the array
      random - the Random Number Generator that should be used for the shuffling
      Gibt zurück:
      the provided sorted array
    • reverse

      public static char[] reverse(char[] array)
      Simple Array Reversal method
      Parameter:
      array - the Array that should flip
      Gibt zurück:
      the provided array
    • reverse

      public static char[] reverse(char[] array, int length)
      Simple Array Reversal method
      Parameter:
      array - the Array that should flip
      length - the length of the array
      Gibt zurück:
      the provided array
    • reverse

      public static char[] reverse(char[] array, int offset, int length)
      Simple Array Reversal method
      Parameter:
      array - the Array that should flip
      offset - the start of the array
      length - the length of the array
      Gibt zurück:
      the provided array
    • stableSort

      public static char[] stableSort(char[] array, CharComparator 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. Stable sort referres to Mergesort or Insertionsort
      Parameter:
      array - the array that needs to be sorted
      comp - the Comparator that decides the sorting order
      Gibt zurück:
      input array.
    • stableSort

      public static void stableSort(char[] array, int length, CharComparator 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. Stable sort referres to Mergesort or Insertionsort
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - the Comparator that decides the sorting order
    • stableSort

      public static void stableSort(char[] array, int from, int to, CharComparator 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. Stable sort referres to Mergesort or Insertionsort
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - the Comparator that decides the sorting order
    • stableSort

      public static char[] stableSort(char[] 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
      Parameter:
      array - the array that needs to be sorted
      Gibt zurück:
      input array
    • stableSort

      public static void stableSort(char[] 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
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
    • stableSort

      public static void stableSort(char[] 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
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
    • unstableSort

      public static char[] unstableSort(char[] array, CharComparator 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. Unstable sort referres to QuickSort or SelectionSort
      Parameter:
      array - the array that needs to be sorted
      comp - the Comparator that decides the sorting order
      Gibt zurück:
      input array
    • unstableSort

      public static void unstableSort(char[] array, int length, CharComparator 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. Unstable sort referres to QuickSort or SelectionSort
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - the Comparator that decides the sorting order
    • unstableSort

      public static void unstableSort(char[] array, int from, int to, CharComparator 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. Unstable sort referres to QuickSort or SelectionSort
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - the Comparator that decides the sorting order
    • unstableSort

      public static char[] unstableSort(char[] 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
      Parameter:
      array - the array that needs to be sorted
      Gibt zurück:
      input array
    • unstableSort

      public static void unstableSort(char[] 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
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
    • unstableSort

      public static void unstableSort(char[] 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
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
    • insertionSort

      public static char[] insertionSort(char[] array, CharComparator comp)
      Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,
      Parameter:
      array - the array that needs to be sorted
      comp - the Comparator that decides the sorting order
      Gibt zurück:
      input array
    • insertionSort

      public static void insertionSort(char[] array, int length, CharComparator comp)
      Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - the Comparator that decides the sorting order
    • insertionSort

      public static void insertionSort(char[] array, int from, int to, CharComparator comp)
      Sorts the specified range of elements according to the order induced by the specified comparator using Insertion Sort,
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - the Comparator that decides the sorting order
    • insertionSort

      public static char[] insertionSort(char[] array)
      Sorts an array according to the natural ascending order using InsertionSort,
      Parameter:
      array - the array that needs to be sorted
      Gibt zurück:
      input array
    • insertionSort

      public static void insertionSort(char[] array, int length)
      Sorts an array according to the natural ascending order using InsertionSort,
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
    • insertionSort

      public static void insertionSort(char[] array, int from, int to)
      Sorts an array according to the natural ascending order using InsertionSort,
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
    • selectionSort

      public static char[] selectionSort(char[] array, CharComparator comp)
      Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,
      Parameter:
      array - the array that needs to be sorted
      comp - the Comparator that decides the sorting order
      Gibt zurück:
      input array
    • selectionSort

      public static void selectionSort(char[] array, int length, CharComparator comp)
      Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - the Comparator that decides the sorting order
    • selectionSort

      public static void selectionSort(char[] array, int from, int to, CharComparator comp)
      Sorts the specified range of elements according to the order induced by the specified comparator using Selection Sort,
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - the Comparator that decides the sorting order
    • selectionSort

      public static char[] selectionSort(char[] array)
      Sorts an array according to the natural ascending order using Selection Sort,
      Parameter:
      array - the array that needs to be sorted
      Gibt zurück:
      input array
    • selectionSort

      public static void selectionSort(char[] array, int length)
      Sorts an array according to the natural ascending order using Selection Sort,
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
    • selectionSort

      public static void selectionSort(char[] array, int from, int to)
      Sorts an array according to the natural ascending order using Selection Sort,
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
    • mergeSort

      public static char[] mergeSort(char[] array, CharComparator 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 optimizations
      Parameter:
      array - the array that needs to be sorted
      comp - the Comparator that decides the sorting order
      Gibt zurück:
      input array
    • mergeSort

      public static void mergeSort(char[] array, int length, CharComparator 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 optimizations
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - the Comparator that decides the sorting order
    • mergeSort

      public static void mergeSort(char[] array, char[] supp, int from, int to, CharComparator 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 optimizations
      Parameter:
      array - the array that needs to be sorted
      supp - the auxillary array that is used to simplify the sorting
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - the Comparator that decides the sorting order
    • mergeSort

      public static char[] mergeSort(char[] array)
      Sorts an array according to the natural ascending order using Merge Sort, This implementation was copied from FastUtil with a couple custom optimizations
      Parameter:
      array - the array that needs to be sorted
      Gibt zurück:
      input array
    • mergeSort

      public static void mergeSort(char[] 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
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
    • mergeSort

      public static void mergeSort(char[] array, char[] 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
      Parameter:
      array - the array that needs to be sorted
      supp - the auxillary array that is used to simplify the sorting
      from - where the array should be sorted from
      to - where the array should be sorted to
    • parallelMergeSort

      public static void parallelMergeSort(char[] array, CharComparator 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 optimizations
      Parameter:
      array - the array that needs to be sorted
      comp - 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 void parallelMergeSort(char[] array, int length, CharComparator 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 optimizations
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - 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 void parallelMergeSort(char[] array, char[] supp, int from, int to, CharComparator 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 optimizations
      Parameter:
      array - the array that needs to be sorted
      supp - the auxillary array that is used to simplify the sorting
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - 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 void parallelMergeSort(char[] 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
      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 void parallelMergeSort(char[] 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
      Parameter:
      array - the array that needs to be sorted
      length - 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 void parallelMergeSort(char[] array, char[] 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
      Parameter:
      array - the array that needs to be sorted
      supp - the auxillary array that is used to simplify the sorting
      from - where the array should be sorted from
      to - 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

      public static void memFreeMergeSort(char[] array, CharComparator 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. It is in Very Unsorted Instances 50% slower then Mergesort, otherwise it as fast.
      Parameter:
      array - the array that needs to be sorted
      comp - the Comparator that decides the sorting order
    • memFreeMergeSort

      public static void memFreeMergeSort(char[] array, int length, CharComparator 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. It is in Very Unsorted Instances 50% slower then Mergesort, otherwise it as fast.
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - the Comparator that decides the sorting order
    • memFreeMergeSort

      public static void memFreeMergeSort(char[] array, int from, int to, CharComparator 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. It is in Very Unsorted Instances 50% slower then Mergesort, otherwise it as fast.
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - the Comparator that decides the sorting order
    • memFreeMergeSort

      public static char[] memFreeMergeSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      Gibt zurück:
      input array
    • memFreeMergeSort

      public static void memFreeMergeSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
    • memFreeMergeSort

      public static void memFreeMergeSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
    • parallelMemFreeMergeSort

      public static void parallelMemFreeMergeSort(char[] array, CharComparator 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. 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.
      Parameter:
      array - the array that needs to be sorted
      comp - 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 void parallelMemFreeMergeSort(char[] array, int length, CharComparator 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. 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.
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - 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 void parallelMemFreeMergeSort(char[] array, int from, int to, CharComparator 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. 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.
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - 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 void parallelMemFreeMergeSort(char[] 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.
      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 void parallelMemFreeMergeSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      length - 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 void parallelMemFreeMergeSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - 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

      public static char[] quickSort(char[] array, CharComparator 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. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.
      Parameter:
      array - the array that needs to be sorted
      comp - the Comparator that decides the sorting order
      Gibt zurück:
      input array
    • quickSort

      public static void quickSort(char[] array, int length, CharComparator 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. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - the Comparator that decides the sorting order
    • quickSort

      public static void quickSort(char[] array, int from, int to, CharComparator 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. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - the Comparator that decides the sorting order
    • quickSort

      public static char[] quickSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      Gibt zurück:
      input array
    • quickSort

      public static void quickSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
    • quickSort

      public static void quickSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
    • parallelQuickSort

      public static void parallelQuickSort(char[] array, CharComparator 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. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.
      Parameter:
      array - the array that needs to be sorted
      comp - 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 void parallelQuickSort(char[] array, int length, CharComparator 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. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.
      Parameter:
      array - the array that needs to be sorted
      length - the maxmium size of the array to be sorted
      comp - 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 void parallelQuickSort(char[] array, int from, int to, CharComparator 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. Bentley and M. DouglasMcIlroy, "Engineering a Sort Function", Software: Practice and Experience, 23(11), pages1249−1265, 1993.
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - where the array should be sorted to
      comp - 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 void parallelQuickSort(char[] 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.
      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 void parallelQuickSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      length - 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 void parallelQuickSort(char[] 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.
      Parameter:
      array - the array that needs to be sorted
      from - where the array should be sorted from
      to - 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