public abstract class IntroSorter extends Sorter
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.| Constructor and Description |
|---|
IntroSorter()
Create a new
IntroSorter. |
| Modifier and Type | Method and Description |
|---|---|
protected abstract int |
comparePivot(int j)
Compare the pivot with the slot at
j, similarly to
compare(i, j). |
protected abstract void |
setPivot(int i)
Save the value at slot
i so that it can later be used as a
pivot, see comparePivot(int). |
void |
sort(int from,
int to)
Sort the slice which starts at
from (inclusive) and ends at
to (exclusive). |
public IntroSorter()
IntroSorter.public final void sort(int from,
int to)
Sorterfrom (inclusive) and ends at
to (exclusive).protected abstract void setPivot(int i)
i so that it can later be used as a
pivot, see comparePivot(int).protected abstract int comparePivot(int j)
j, similarly to
compare(i, j).Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.