Class LSBRadixSorter


  • public final class LSBRadixSorter
    extends java.lang.Object
    A LSB Radix sorter for unsigned int values.
    • Constructor Summary

      Constructors 
      Constructor Description
      LSBRadixSorter()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static void buildHistogram​(int[] array, int len, int[] histogram, int shift)  
      private static void insertionSort​(int[] array, int off, int len)  
      private static void reorder​(int[] array, int len, int[] histogram, int shift, int[] dest)  
      private static boolean sort​(int[] array, int len, int[] histogram, int shift, int[] dest)  
      void sort​(int numBits, int[] array, int len)
      Sort array[0:len] in place.
      private static void sumHistogram​(int[] histogram)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • INSERTION_SORT_THRESHOLD

        private static final int INSERTION_SORT_THRESHOLD
        See Also:
        Constant Field Values
      • histogram

        private final int[] histogram
      • buffer

        private int[] buffer
    • Constructor Detail

      • LSBRadixSorter

        public LSBRadixSorter()
    • Method Detail

      • buildHistogram

        private static void buildHistogram​(int[] array,
                                           int len,
                                           int[] histogram,
                                           int shift)
      • sumHistogram

        private static void sumHistogram​(int[] histogram)
      • reorder

        private static void reorder​(int[] array,
                                    int len,
                                    int[] histogram,
                                    int shift,
                                    int[] dest)
      • sort

        private static boolean sort​(int[] array,
                                    int len,
                                    int[] histogram,
                                    int shift,
                                    int[] dest)
      • insertionSort

        private static void insertionSort​(int[] array,
                                          int off,
                                          int len)
      • sort

        public void sort​(int numBits,
                         int[] array,
                         int len)
        Sort array[0:len] in place.
        Parameters:
        numBits - how many bits are required to store any of the values in array[0:len]. Pass 32 if unknown.