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 Details

    • StableMSBRadixSorter

      public StableMSBRadixSorter(int maxLength)
  • Method Details

    • 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
      Parameters:
      startOffsets - start offsets per bucket
      endOffsets - end offsets per bucket