Package xyz.cofe.sort

Interface BinFinder<LIST,​E>

  • Type Parameters:
    LIST - Тип списка
    E - Тип значения

    public interface BinFinder<LIST,​E>
    Поиск в сортированом списке
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default void equals​(Consumer<E> consumer, LIST lst, Comparator<E> cmp, E target, int begin, int endex)  
      E get​(LIST lst, int index)
      Получение элемента по его индексу
      default int headIndex​(LIST lst, Comparator<E> cmp, E target, int begin, int endex)
      Поиск "головы" - ищет в списке начало некого значения.
      default int tailIndex​(LIST lst, Comparator<E> cmp, E target, int begin, int endex)
      Поиск "хвоста" - ищет в списке хвост некого значения.
    • Method Detail

      • get

        E get​(LIST lst,
              int index)
        Получение элемента по его индексу
        Parameters:
        lst - список
        index - индекс
        Returns:
        элемент
      • headIndex

        default int headIndex​(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

        Parameters:
        lst - список
        cmp - функция согласно которой отсортированы элементы в списке
        target - искомое значение
        begin - начало области поиска
        endex - конец (исключительно) области поиска
        Returns:
        индекс соответ голове или -1, еслли не найдено
      • tailIndex

        default int tailIndex​(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

        Parameters:
        lst - список
        cmp - функция согласно которой отсортированы элементы в списке
        target - искомое значение
        begin - начало области поиска
        endex - конец (исключительно) области поиска
        Returns:
        индекс соответ хвосту или -1, еслли не найдено