searchable.searchsequence

## Class SearchSequenceWithSentinel

- java.lang.Object
- - searchable.searchsequence.SearchSequence
  - - searchable.searchsequence.SearchSequenceWithSentinel

- All Implemented Interfaces:
    Searchable

      class SearchSequenceWithSentinel
      extends SearchSequence
      implements Searchable

  Implementace vyhledávací posloupnosti se zarážkou.

  Popis: Vyhledávání se zarážkou. Zjednodušuje test v cyklu metody select a tím metodu zrychluje v nejkritičtějším místě. Je vhodné i pro nalezení a následné odstranění posledního člena z jednosměrně zřetězeného seznamu (to je bez zarážky neefektivní, protože po odstranění se musí nastavit prvek last prohledáním celé posloupnosti od začátku do konce).

  Užití: instance této třídy lze používat v aplikacích

- - ### Field Summary

    - ### Fields inherited from class searchable.searchsequence.SearchSequence

      `sequence`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SearchSequenceWithSentinel(Sequence aSequence)` Vyrobí instanci vyhledávací posloupnosti SearchSequenceWithSentinel.
    `SearchSequenceWithSentinel(SequenceFactory aSequenceFactory, int aSize)` Vyrobí instanci vyhledávací posloupnosti SearchSequenceWithSentinel.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCount()` Zjistí počet prvků v posloupnosti.
    `void` | `getReadable(java.util.List<java.lang.String> aStrings)` Naplní kolekci řetězců čitelným obsahem vyhledávací struktury.
    `void` | `insert(SearchableElement elem)` Vloží prvek do posloupnosti.
    `SearchableElement` | `select(SearchableElement key)` Najde prvek vyhledávací struktury podle klíče.

    - ### Methods inherited from class searchable.searchsequence.SearchSequence

      `getOperationCounter, getSortCounter, isEmpty, isFull, remove, setSequence, update`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface searchable.searchableinterface.Searchable

      `getOperationCounter, getSortCounter, isEmpty, isFull, remove, update`

- - ### Constructor Detail

    - #### SearchSequenceWithSentinel

          public SearchSequenceWithSentinel(SequenceFactory aSequenceFactory,
                                            int aSize)

      Vyrobí instanci vyhledávací posloupnosti SearchSequenceWithSentinel.

      Popis: volá zdědný konstruktor a na konec posloupnosti přidá zarážku.

      Užití: zejména ve factory

      Parameters:
        `aSequenceFactory` - továrna na nové prázdné posloupnosti
        `aSize` - požadovaná kapacita nového seznamu

    - #### SearchSequenceWithSentinel

          public SearchSequenceWithSentinel(Sequence aSequence)

      Vyrobí instanci vyhledávací posloupnosti SearchSequenceWithSentinel.

      Popis: volá zdědný konstruktor a na konec posloupnosti přidá zarážku.

      Užití: volejte z konstruktorů odvozených tříd (dědiců).

      Parameters:
        `aSequence` - posloupnost, která se má prohledávat

  - ### Method Detail

    - #### select

          public SearchableElement select(SearchableElement key)

      Description copied from interface: `Searchable`
      Najde prvek vyhledávací struktury podle klíče.
      Specified by:
        `select` in interface `Searchable`
      Overrides:
        `select` in class `SearchSequence`
      Parameters:
        `key` - klíč
      Returns:
        nalezený prvek nebo null

    - #### insert

          public void insert(SearchableElement elem)

      Description copied from class: `SearchSequence`
      Vloží prvek do posloupnosti.

      Popis: přidá nový prvek vždy na konec posloupnosti.

      Vyžaduje: not isFull

      Specified by:
        `insert` in interface `Searchable`
      Overrides:
        `insert` in class `SearchSequence`
      Parameters:
        `elem` - prvek, který se má vložit

    - #### getCount

          public int getCount()

      Zjistí počet prvků v posloupnosti.

      Poznámka: musí se redefinovat kvůli zarážce

      Specified by:
        `getCount` in interface `Searchable`
      Overrides:
        `getCount` in class `SearchSequence`
      Returns:
        počet prvků v posloupnosti

    - #### getReadable

          public void getReadable(java.util.List<java.lang.String> aStrings)

      Description copied from interface: `Searchable`
      Naplní kolekci řetězců čitelným obsahem vyhledávací struktury.
      Specified by:
        `getReadable` in interface `Searchable`
      Overrides:
        `getReadable` in class `SearchSequence`
      Parameters:
        `aStrings` - kolekce řetězců, která se má naplnit čitelným obsahem