Package org.apache.lucene.util
Class RadixSelector
java.lang.Object
org.apache.lucene.util.Selector
org.apache.lucene.util.RadixSelector
Radix selector.
This implementation works similarly to a MSB radix sort except that it only recurses into the sub partition that contains the desired value.
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract int
byteAt
(int i, int k) Return the k-th byte of the entry at indexi
, or-1
if its length is less than or equal tok
.protected Selector
getFallbackSelector
(int d) Get a fall-back selector which may assume that the firstd
bytes of all compared strings are equal.void
select
(int from, int to, int k) Reorder elements so that the element at positionk
is the same as if all elements were sorted and all other elements are partitioned around it:[from, k)
only contains elements that are less than or equal tok
and(k, to)
only contains elements that are greater than or equal tok
.
-
Constructor Details
-
RadixSelector
protected RadixSelector(int maxLength) Sole constructor.- Parameters:
maxLength
- the maximum length of keys, passInteger.MAX_VALUE
if unknown.
-
-
Method Details
-
byteAt
protected abstract int byteAt(int i, int k) Return the k-th byte of the entry at indexi
, or-1
if its length is less than or equal tok
. This may only be called with a value ofk
between0
included andmaxLength
excluded. -
getFallbackSelector
Get a fall-back selector which may assume that the firstd
bytes of all compared strings are equal. This fallback selector is used when the range becomes narrow or when the maximum level of recursion has been exceeded. -
select
public void select(int from, int to, int k) Description copied from class:Selector
Reorder elements so that the element at positionk
is the same as if all elements were sorted and all other elements are partitioned around it:[from, k)
only contains elements that are less than or equal tok
and(k, to)
only contains elements that are greater than or equal tok
.
-