Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
Cargando

Autor Tema: lista enlazada  (Leído 311 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kaiserr

  • Ladrón de espacio en la BD [L0]
  • *
  • Topic Author
  • Mensajes: 9
  • sin esfuerzo no hay gloria
    • Ver Perfil
lista enlazada
« en: Marzo 31, 2012, 06:18:30 am »
hola gente;
bueno otra ves yo con un error en POO con python :/
bueno aca el codigo:
esta es mi clase nodo
Código: [Seleccionar]
class nodo:
def __init__(self,dato=None,siguiente=None):
self.aDato=dato
self.aSiguiente=siguiente
def SetDato(self,dato):
self.aDato=dato
def SetSiguiente(self,siguiente):
self.aSiguiente=siguiente
#selectores
def GetDato(self):
return self.aDato
def GetSiguiente(self):
return self.aSiguiente
bueno en esta clase nodo esta como atributos el dato y el puntero.
sus modificadores y selectores respectivamente.
acontinuacion la lista
Código: [Seleccionar]
class lista:
def __init__(self,PrimerNodo=None,UltimoNodo=None):
self.aPrimerNodo=PrimerNodo
self.aUltimoNodo=UltimoNodo
#modificadores
def SetPrimerNodo(self,PrimerNodo):
self.aPrimerNodo=PrimerNodo
def SetUltimoNodo(self,UltimoNodo):
self.aUltimoNodo=UltimoNodo
#selectores
def GetPrimerNodo(self):
return self.aPrimerNodo
def GetUltimoNodo(self):
return self.aUltimoNodo
#metodos
def Esvacia(self):
if (self.aPrimerNodo==None):
return True
else:
return False
def InsertarInicio(self,dato):
if(self.Esvacia()):
self.aPrimerNodo=nodo(self.aDato,None)
                        self.aUltimoNodo=self.aPrimerNodo
self.aDato=dato
else:
self.aPrimerNodo=nodo(self.aDato,self.aPrimerNodo)
self.aDato=dato
def imprimir(self):
current=self.PrimerNodo
while(current!=None):
print current.aDato
current=current.aSiguiente
bien como veran como atributos tengo un primer nodo y un ultimo nodo,sus modificadores y selctores tambien,y luego el metodo ingresar al principio segun si este vacia o no ,si esta vacia crea un nodo apuntando a None y si no crea un nodo apuntando al primerNodo ya q de esa forma insertaremos al prinipio el metodo imprimir es facil de entender...
bueno sin embargo me manda este error.
Código: [Seleccionar]
>>> lis=lista()
>>> lis.InsertarInicio('hola')

Traceback (most recent call last):
  File "<pyshell#55>", line 1, in <module>
    lis.InsertarInicio('hola')
  File "<pyshell#53>", line 23, in InsertarInicio
    self.aPrimerNodo=nodo(self.aDato,None)
AttributeError: lista instance has no attribute 'aDato'
a nuc como arreglarlo,gracias de antemano
un abraso.

Desconectado L00PeR

  • Conociendo la comunidad [L2]
  • **
  • Mensajes: 144
    • Ver Perfil
Re:lista enlazada
« Respuesta #1 en: Mayo 03, 2012, 03:09:20 pm »
¿No será que la clase 'lista' no crea cuando se le llama una instancia 'nodo' para cada objeto 'lista'?