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).