Úvod do programování - Cvičení č. 7
Autor: |
Miroslav Beneš
|
Organizace: |
Katedra informatiky FEI VŠB-TU Ostrava
|
Popis: |
V rámci tohoto cvičení si vyzkoušíte různé implementace zásobníku.
|
Úkoly
Prostudujte jednotlivé implementace zásobníku a v úloze č. 4 vytvořte vlastní
implementaci.
- Zásobník implementovaný statickým polem.
Soubory Stack.java, ArrayStack.java, Priklad1.java.
- Zásobník implementovaný dynamickým polem.
Soubory DynamicArrayStack.java, Priklad2.java.
- Zásobník implementovaný vázanou strukturou.
Soubory StackElem.java, LinkedStack.java, Priklad3.java.
- Dva zásobníky v jednom poli. Ukažte, jakým způsobem lze realizovat
dva zásobníky v jednom statickém poli tak, že žádný z nich nepřeteče, pokud
celkový počet položek v obou zásobnících nepřesáhne velikost pole. Implementace
bude založena na tom, že jeden zásobník bude v poli růst směrem zleva a druhý
zásobník směrem zprava.
Soubory DoubleStack.java, Priklad4.java - povšimněte si, že uvnitř třídy
můžeme definovat další třídy. Tyto tzv. vnitřní třídy mají přístup na instanční
proměnné vnější třídy, takže například ve třídách LeftStack a RightStack můžeme
pracovat přímo s polem data.
- Třída java.util.Stack. Prostudujte dokumentaci třídy java.util.Stack.
Tato standardní třída implementuje zásobník jako specializaci třídy Vector. Upravte
některý z testovacích příkladů 1-3 tak, aby používal tuto třídu (pozor na možný
konflikt s třídou priklad7.Stack - je třeba používat plné jméno třídy).