Nadesłany przez Jakub Konieczny, 07 kwietnia 2011 01:20
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.Pobierz pełne rozwiązanie.
stos_1_py.py:
#stos
#www.algorytm.org
#!/usr/bin/python
# -*- coding: utf-8 -*-
class StosElement: #klasa elementu stosu
def __init__(self, val=0, prev=None):
self.v=val #wartość
self.prev=prev #wskaźnik do elementu pod
class Stos: #klasa stosu
def __init__(self):
self.gora=None #w konstruktorze definiuje, że nie ma elementów
def wstaw(self, val): #metoda wstawiania elementu
el=StosElement(val, self.gora) #podanie jako argumentu aktualnego
#wskaźnika do górnego elementu
self.gora=el
def zdejmij(self):
if self.gora!=None: #zabezpieczenie: jeżli nie ma górnego elementu,
#nie będzie odwoływać się do wskaźnika None
self.gora=self.gora.prev
def pobierz(self): #zwraca wartość górnego elementu
if self.gora!=None:
return self.gora.v
return None
def jestPusty(self): #sprawdza, czy jest pusty
if self.gora!=None:
return False
return True
s=Stos()
s.wstaw(1)
print(s.pobierz())
s.wstaw(2)
print(s.pobierz())
s.wstaw(3)
print(s.pobierz())
s.zdejmij()
print(s.pobierz())
s.zdejmij()
print(s.pobierz())
print("Jest pusty: "+str(s.jestPusty()))
s.zdejmij()
print(s.pobierz())
print("Jest pusty: "+str(s.jestPusty()))

