Vlastni datovy typ
Požadavky na absolvování
Otevřené: pátek, 21. prosince 2012, 00.00
Termín: pátek, 21. prosince 2012, 01.00
Naimplementujte v Pythonu tridu pro vlastní datový typ (může být i takový, co v Pythonu již existuje). Mějte pro něj implementované metody pro alespoň základní úkony:
- Traversing
- Searching
- Insertion
- Deletion
- Sorting
- Merging
Příklad implementace stacku, kde jsem naschvál zachoval názvy z úkonů výše. Některé úkony v samotném stacku nejsou proveditelné (search - museli bychom využít ještě jiné struktury nebo porušit to, že máme přístup jen k poslednímu prvku) nebo nedávají smysl (sort, podobně jako search):
class Stack: def __init__(self): self.data = () def traversing(self): """peek in stack context""" value = self.data[-1] return value def is_empty(self): return self.data == () def add(self, value): """push in stack context""" self.data += (value,) def delete(self): """pop in stack context""" value = self.data[-1] self.data = self.data[:-1] return value def merge(self, other_stack): for i in other_stack: self.add(i) return self.data
Samozřejmě se jedná o základní implementaci pro vzor (např. merge by mohl obsahovat test, zda druhý parametr je vskutku stack).