[python] ukazatele

Petr Prikryl Prikryl na skil.cz
Pondělí Leden 24 09:51:30 CET 2005


> From: Josef Skladanka...
> muze to byt nejak takhle ?
> 
> class Uzel:
> 	def __init__(self,idata):
> 		self.left=NULL
> 		self.right=NULL
> 		self.data=idata

(Nedoporučuje se používat tabulátory.)

> [...]
> muze to byt tak ??

Jo. Jen místo NULL se používá None, což 
je reference na speciální objekt, která se 
používá v podobném významu, jako NULL
pro ukazatel v C.

> 	def pridej_vlevo(self, idata):
> 		pom=Uzel(idata)
> 		self.left=pom

idata se může klidně jmenovat data.
Tady by se možná mělo testovat, jestli
vlevo už nic nevisí. Pokud ano, může
se původní podstrom stát například 
pravým nebo levým podstromem nového uzlu.
Pokud to chci jen kontrolovat, můžu použít
assert:

    def pridej_vlevo(self, data):
        assert self.left is None
        self.left = Uzel(data)

nebo výše zmíněná úprava:

    def pridej_vlevo(self, data):
        novy_uzel = Uzel(data)        
        novy_uzel.right = self.left
        self.left = novy_uzel

P.

-- 
Petr Prikryl (prikrylp at skil dot cz) 



Další informace o konferenci Python