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.
        Overrides:
        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.

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