Vlastni datovy typ
Conditions d'achèvement
Ouvert le : vendredi 21 décembre 2012, 00:00
À remettre : vendredi 21 décembre 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).