algorytm.org

Implementacja w Python



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Kolejka - Implementacja w Python
Ocena użytkownikóww: *****  / 5
SłabyŚwietny
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()))
Dodaj komentarz