Nadesłany przez Jakub Konieczny, 07 kwietnia 2011 01:37
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.Pobierz pełne rozwiązanie.
kolejka_1_py.py:
#kolejka #www.algorytm.org #!/usr/bin/python # -*- coding: utf-8 -*- class KolejkaElement: #klasa elementu kolejki def __init__(self, val=0, poprzedni=None): #konstruktor musi zawierać # referencję do poprzedniego elementu # w kolejce self.v=val self.nastepny=None if poprzedni!=None: #je?li istnieje poprzedni: poprzedni.nastepny=self #ustawia, że następujący po nim jest # aktualny class Kolejka: #klasa Kolejki def __init__(self): self.poczatek=None #ustawia że nie ma elementu na początku, ani na końcu self.koniec=None def dodaj(self, val): #metoda dodaje do kolejki el=KolejkaElement(val, self.koniec) #tworzy element self.koniec=el #ustawia go na koniec if self.poczatek==None: #i jeżli początek jest pusty self.poczatek=self.koniec #ustawia go na koniec def usun(self): #usuwa element z początku if self.poczatek!=None: #żeby nie odwoływać się do None self.poczatek=self.poczatek.nastepny if self.poczatek==None: #jeżli okazało się, że już nie ma elementów self.koniec=None # usuwa element z końca kolejki def pobierz(self): #zwraca pierwszy element z kolejki if self.poczatek!=None: return self.poczatek.v return None def jestPusta(self): #sprawdza, czy jest pusta if self.poczatek!=None: return False return True s=Kolejka() print("Dodaj 1") s.dodaj(1) print("Dodaj 2") s.dodaj(2) print("Dodaj 3") s.dodaj(3) print("") print(s.pobierz()) s.usun() print(s.pobierz()) s.usun() print(s.pobierz()) print("Jest pusty: "+str(s.jestPusta())) print("usuń") s.usun() print(s.pobierz()) print("Jest pusty: "+str(s.jestPusta()))