- java.lang.Object
-
- xyz.cofe.sort.BinFinderImpl
-
public class BinFinderImpl extends Object
Реализация функций бинарного поиска
-
-
Constructor Summary
Constructors Constructor Description BinFinderImpl()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <LIST,E>
intheadIndex(BinFinder<LIST,E> finder, LIST lst, Comparator<E> cmp, E target, int begin, int endex)Поиск "головы" - ищет в списке начало некого значения.static <LIST,E>
inttailIndex(BinFinder<LIST,E> finder, LIST lst, Comparator<E> cmp, E target, int begin, int endex)Поиск "хвоста" - ищет в списке хвост некого значения.static <LIST,E>
inttailIndex(BinFinder<LIST,E> finder, LIST lst, Comparator<E> cmp, E target, int begin, int endex, E found, int foundIndex)Поиск "хвоста" - ищет в списке хвост некого значения.
-
-
-
Method Detail
-
headIndex
public static <LIST,E> int headIndex(BinFinder<LIST,E> finder, LIST lst, Comparator<E> cmp, E target, int begin, int endex)
Поиск "головы" - ищет в списке начало некого значения.Пример есть список:
[0] = 2 // <- это будет "голова" для искомого значения 3
[1] = 2
[2] = 3
[3] = 5 // <- это будет "голова" для искомого значения 7
[4] = 8
[5] = 8
[6] = 9- Type Parameters:
LIST- Тип спискаE- Тип элемента в списке- Parameters:
finder- ссылка на интерфейс BinFinder, для доступа к функцииBinFinder.get(Object, int)lst- списокcmp- функция согласно которой отсортированы элементы в спискеtarget- искомое значениеbegin- начало области поискаendex- конец (исключительно) области поиска- Returns:
- индекс соответ голове или -1, еслли не найдено
-
tailIndex
public static <LIST,E> int tailIndex(BinFinder<LIST,E> finder, LIST lst, Comparator<E> cmp, E target, int begin, int endex, E found, int foundIndex)
Поиск "хвоста" - ищет в списке хвост некого значения.Пример есть список:
[0] = 2
[1] = 2
[2] = 3 // <- это будет "хвост" для искомого значения 2
[3] = 5 // <- это будет "хвост" для искомого значения 4
[4] = 8
[5] = 8
[6] = 9 // <- это будет "хвост" для искомого значения 8- Type Parameters:
LIST- Тип спискаE- Тип элемента в списке- Parameters:
finder- ссылка на интерфейс BinFinder, для доступа к функцииBinFinder.get(Object, int)lst- списокcmp- функция согласно которой отсортированы элементы в спискеtarget- искомое значениеbegin- начало области поискаendex- конец (исключительно) области поискаfound- ранее найденое значениеfoundIndex- ранее найденый индекс- Returns:
- индекс соответ хвосту или -1, еслли не найдено
-
tailIndex
public static <LIST,E> int tailIndex(BinFinder<LIST,E> finder, LIST lst, Comparator<E> cmp, E target, int begin, int endex)
Поиск "хвоста" - ищет в списке хвост некого значения.Пример есть список:
[0] = 2
[1] = 2
[2] = 3 // <- это будет "хвост" для искомого значения 2
[3] = 5 // <- это будет "хвост" для искомого значения 4
[4] = 8
[5] = 8
[6] = 9 // <- это будет "хвост" для искомого значения 8- Type Parameters:
LIST- Тип спискаE- Тип элемента в списке- Parameters:
finder- ссылка на интерфейс BinFinder, для доступа к функцииBinFinder.get(Object, int)lst- списокcmp- функция согласно которой отсортированы элементы в спискеtarget- искомое значениеbegin- начало области поискаendex- конец (исключительно) области поиска- Returns:
- индекс соответ хвосту или -1, еслли не найдено
-
-