list.listinterface

## Interface ShallowList

- All Superinterfaces:
    CommonBase
  All Known Implementing Classes:
    ShallowDoublyLinkedList, ShallowLinearArrayList

      public interface ShallowList
      extends CommonBase

  Specifikace mělkého seznamu.

  Popis: interface pomocného seznamu nad členy jiného seznamu.

  Užití: k řazení seznamů; implementujte třídou.

  Invariant: not IsEmpty

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `MemberReference` | `getFirstRef()` Vrátí odkaz na první člen seznamu.
    `MemberReference` | `getLastRef()` Vrátí odkaz na poslední člen seznamu.
    `void` | `insertLast()` Zatřídí poslední prvek před běžný.
    `boolean` | `isFirst()` Zjistí, zda běžný prvek je první.
    `boolean` | `isLast()` Zjistí, zda běžný prvek je poslední.
    `Element` | `latch()` Zachytí odkaz na běžný prvek v seznamu a vrátí jej.
    `ShallowList` | `makeLowerHalfSequence()` Vyrobí mělkou kopii seznamu obsahující spodní polovinu.
    `ShallowList` | `makeShrinkList()` Vyrobí mělkou kopii celého seznamu.
    `ShallowList` | `makeStretchDownList()` Vyrobí mělkou kopii seznamu obsahující posledního člena.
    `ShallowList` | `makeStretchUpList()` Vyrobí mělkou kopii seznamu obsahující prvního člena.
    `ShallowList` | `makeUpperHalfSequence()` Vyrobí mělkou kopii seznamu obsahující horní polovinu.
    `void` | `moveDownTo(int index)` Učiní běžným prvkem index-tý prvek před posledním prvekm.
    `void` | `moveFirst()` Učiní hlavu seznamu běžným prvkem.
    `void` | `moveLast()` Učiní ocas běžným prvkem.
    `void` | `moveNext()` Učiní následující prvek běžným prvkem.
    `void` | `movePrev()` Učiní předcházející prvek běžným prvkem.
    `void` | `moveUpTo(int index)` Učiní běžným prvkem index-tý prvek za prvním prvekm.
    `void` | `restore()` Obnoví posledně zachyzený běžný prvek.
    `void` | `shrinkDown()` Smrskne seznam o jednoho člena před posledního.
    `void` | `shrinkUp()` Smrskne seznam o jednoho člena za prvního.
    `void` | `stretchDown()` Roztáhne seznam o jednoho člena před prvního.
    `void` | `stretchUp()` Roztáhne seznam o jednoho člena za posledního.
    `void` | `swap(CommonBase aList)` Zamění běžné prvky dvou seznamů.

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

      `getElement, getMoveCounter, resetMoveCounter, setElement`

- - ### Method Detail

    - #### moveFirst

          void moveFirst()

      Učiní hlavu seznamu běžným prvkem.

    - #### moveLast

          void moveLast()

      Učiní ocas běžným prvkem.

    - #### moveNext

          void moveNext()

      Učiní následující prvek běžným prvkem.

      Vyžaduje: not isLast

    - #### movePrev

          void movePrev()

      Učiní předcházející prvek běžným prvkem.

      Vyžaduje: not isFirst

    - #### moveUpTo

          void moveUpTo(int index)

      Učiní běžným prvkem index-tý prvek za prvním prvekm.

      Vyžaduje: (index in [0..Pred(getSize)])

      Parameters:
        `index` - pořadové číslo prvku (počítá se od 0)

    - #### moveDownTo

          void moveDownTo(int index)

      Učiní běžným prvkem index-tý prvek před posledním prvekm.

      Vyžaduje: (index in [0..Pred(getSize)])

      Parameters:
        `index` - pořadové číslo prvku (počítá se od 0)

    - #### isFirst

          boolean isFirst()

      Zjistí, zda běžný prvek je první.
      Returns:
        true když je první, jinak false

    - #### isLast

          boolean isLast()

      Zjistí, zda běžný prvek je poslední.
      Returns:
        true když je poslední, jinak false

    - #### insertLast

          void insertLast()

      Zatřídí poslední prvek před běžný.

    - #### swap

          void swap(CommonBase aList)

      Zamění běžné prvky dvou seznamů.
      Parameters:
        `aList` - druhý seznam potřebný k záměně prvků

    - #### stretchUp

          void stretchUp()

      Roztáhne seznam o jednoho člena za posledního.

    - #### stretchDown

          void stretchDown()

      Roztáhne seznam o jednoho člena před prvního.

    - #### shrinkUp

          void shrinkUp()

      Smrskne seznam o jednoho člena za prvního.

    - #### shrinkDown

          void shrinkDown()

      Smrskne seznam o jednoho člena před posledního.

    - #### getFirstRef

          MemberReference getFirstRef()

      Vrátí odkaz na první člen seznamu. Dá se porovnat s jiným odkazem.
      Returns:
        odkaz na první člen seznamu

    - #### getLastRef

          MemberReference getLastRef()

      Vrátí odkaz na poslední člen seznamu. Dá se porovnat s jiným odkazem.
      Returns:
        odkaz na poslední člen seznamu

    - #### latch

          Element latch()

      Zachytí odkaz na běžný prvek v seznamu a vrátí jej.
      Returns:
        odkaz na běžný prvek v seznamu

    - #### restore

          void restore()

      Obnoví posledně zachyzený běžný prvek. Učiní z něj prvek běžný.

    - #### makeShrinkList

          ShallowList makeShrinkList()

      Vyrobí mělkou kopii celého seznamu.
      Returns:
        mělká kopie celého seznamu

    - #### makeStretchUpList

          ShallowList makeStretchUpList()

      Vyrobí mělkou kopii seznamu obsahující prvního člena.
      Returns:
        mělká kopie seznamu obsahující prvního člena

    - #### makeStretchDownList

          ShallowList makeStretchDownList()

      Vyrobí mělkou kopii seznamu obsahující posledního člena.
      Returns:
        mělká kopie seznamu obsahující posledního člena

    - #### makeLowerHalfSequence

          ShallowList makeLowerHalfSequence()

      Vyrobí mělkou kopii seznamu obsahující spodní polovinu.
      Returns:
        mělká kopie seznamu obsahující spodní polovinu

    - #### makeUpperHalfSequence

          ShallowList makeUpperHalfSequence()

      Vyrobí mělkou kopii seznamu obsahující horní polovinu.

      Vyžaduje: first <> last

      Returns:
        mělká kopie seznamu obsahující horní polovinu