Class StableMSBRadixSorter

  • public abstract class StableMSBRadixSorter
    extends MSBRadixSorter
    Stable radix sorter for variable-length strings.
    NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
    • Constructor Detail

      • StableMSBRadixSorter

        public StableMSBRadixSorter​(int maxLength)
    • Method Detail

      • save

        protected abstract void save​(int i,
                                     int j)
        Save the i-th value into the j-th position in temporary storage.
      • restore

        protected abstract void restore​(int i,
                                        int j)
        Restore values between i-th and j-th(excluding) in temporary storage into original storage.
      • getFallbackSorter

        protected Sorter getFallbackSorter​(int k)
        Description copied from class: MSBRadixSorter
        Get a fall-back sorter which may assume that the first k bytes of all compared strings are equal.
        getFallbackSorter in class MSBRadixSorter
      • reorder

        protected void reorder​(int from,
                               int to,
                               int[] startOffsets,
                               int[] endOffsets,
                               int k)
        Reorder elements in stable way, since Dutch sort does not guarantee ordering for same values.

        When this method returns, startOffsets and endOffsets are equal.

        reorder in class MSBRadixSorter
        startOffsets - start offsets per bucket
        endOffsets - end offsets per bucket