Class IntroSorter
Sorter implementation based on a variant of the quicksort algorithm called introsort: when the recursion level exceeds the log of the length of the array to sort, it falls back to heapsort. This prevents quicksort from running into its worst-case quadratic runtime. Small arrays are sorted with insertion sort.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Inherited Members
Namespace: Lucene.Net.Util
Assembly: Lucene.Net.dll
Syntax
public abstract class IntroSorter : Sorter
Constructors
IntroSorter()
Create a new IntroSorter.
Declaration
protected IntroSorter()
Methods
ComparePivot(int)
Compare the pivot with the slot at j
, similarly to
Compare(i, j) (Compare(int, int)).
Declaration
protected abstract int ComparePivot(int j)
Parameters
Type | Name | Description |
---|---|---|
int | j |
Returns
Type | Description |
---|---|
int |
SetPivot(int)
Save the value at slot i
so that it can later be used as a
pivot, see ComparePivot(int).
Declaration
protected abstract void SetPivot(int i)
Parameters
Type | Name | Description |
---|---|---|
int | i |
Sort(int, int)
Sort the slice which starts at from
(inclusive) and ends at
to
(exclusive).
Declaration
public override sealed void Sort(int from, int to)
Parameters
Type | Name | Description |
---|---|---|
int | from | |
int | to |