sequence.stack

## Class RealStack

- java.lang.Object
- - sequence.basesequence.AbstractBaseSequence
  - - sequence.stack.RealStack

- All Implemented Interfaces:
    CommonBase, BaseSequence, Stack

      class RealStack
      extends AbstractBaseSequence
      implements Stack

  Implementace zásobníku.

  Popis: wrapper nad obecným seznamem.

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private StackList` | `list` Seznam slouží jako úložiště zapouzdřené v zásobníku.

    - ### Fields inherited from class sequence.basesequence.AbstractBaseSequence

      `count`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RealStack(ListFactory aListFactory, int aSize)` Vyrobí zásobník.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected BaseListInterface` | `getList()`
    `Element` | `pop()` Vyjme vrchní prvek ze zásobníku.
    `void` | `push(Element elem)` Vloží nový prvek do zásobníku.
    `Element` | `top()` Ukáže vrchní prvek na zásobníku a nechá jej tam.

    - ### Methods inherited from class sequence.basesequence.AbstractBaseSequence

      `getCount, getElement, getMoveCounter, isEmpty, isFull, resetMoveCounter, setElement`

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

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

    - ### Methods inherited from interface sequence.sequenceinterface.BaseSequence

      `getCount, isEmpty, isFull`

    - ### Methods inherited from interface list.listinterface.CommonBase

      `getElement, getMoveCounter, resetMoveCounter, setElement`

- - ### Field Detail

    - #### list

          private StackList list

      Seznam slouží jako úložiště zapouzdřené v zásobníku.

  - ### Constructor Detail

    - #### RealStack

          public RealStack(ListFactory aListFactory,
                           int aSize)

      Vyrobí zásobník.

      Užití: zejména k inicializaci proměnných typu TStack

      Parameters:
        `aListFactory` - továrna na seznamy, seznam se použije jako zapouzdřené úložiště
        `aSize` - požadovaná kapacita zásobníku

  - ### Method Detail

    - #### getList

          protected BaseListInterface getList()

      Specified by:
        `getList` in class `AbstractBaseSequence`
      Returns:
        zapouzdřené úložiště

    - #### top

          public Element top()

      Description copied from interface: `Stack`
      Ukáže vrchní prvek na zásobníku a nechá jej tam.

      Popis: Ukáže vrchní prvek na zásobníku a nechá jej tam. Vrch zásobníku je implementován hlavou seznamu.

      Užití: typ výsledku se řídí specializací typu Element.

      Vyžaduje: not isEmpty

      Specified by:
        `top` in interface `Stack`
      Returns:
        prvek, který je uložen na vrchu zásobníku

    - #### pop

          public Element pop()

      Description copied from interface: `Stack`
      Vyjme vrchní prvek ze zásobníku.

      Popis: Vyjme prvek z vrchu zásobníku. Vrch zásobníku je implementován hlavou seznamu.

      Užití: typ výsledku se řídí specializací typu Element.

      Vyžaduje: not isEmpty

      Splní: not isFull

      Mění: vyjme vršek zásobníku

      Specified by:
        `pop` in interface `Stack`
      Returns:
        prvek, který byl uložen na vrchu zásobníku

    - #### push

          public void push(Element elem)

      Description copied from interface: `Stack`
      Vloží nový prvek do zásobníku.

      Popis: Uloží nový prvek na vrchol zásobníku. Vrchol zásobníku je ten prvek pole, jehož index je obsažen v proměnné head.

      Užití: typ parametru se řídí specializací typu Element.

      Vyžaduje: not isFull

      Splní: not isEmpty

      Mění: přidá elem na vršek zásobníku

      Specified by:
        `push` in interface `Stack`
      Parameters:
        `elem` - prvek, který má být uložen na vrchol zásobníku