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.
This is a Lucene.NET INTERNAL API, use at your own risk
Namespace: Lucene.Net.Util
Assembly: Lucene.Net.dll
Syntax
public abstract class IntroSorter : Sorter
Constructors
| Improve this Doc View SourceIntroSorter()
Create a new Intro
Declaration
public IntroSorter()
Methods
| Improve this Doc View SourceComparePivot(Int32)
Compare the pivot with the slot at j
, similarly to
Compare(i, j) (Compare(Int32, Int32)).
Declaration
protected abstract int ComparePivot(int j)
Parameters
Type | Name | Description |
---|---|---|
System. |
j |
Returns
Type | Description |
---|---|
System. |
SetPivot(Int32)
Save the value at slot i
so that it can later be used as a
pivot, see Compare
Declaration
protected abstract void SetPivot(int i)
Parameters
Type | Name | Description |
---|---|---|
System. |
i |
Sort(Int32, Int32)
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 |
---|---|---|
System. |
from | |
System. |
to |