class Nodo: def __init__(self, dato): self.info = dato self.Ld = None self.Li = None class Lista: def __init__(self): self.primero = None self.ultimo = None def UltimoNodo(self): temp = self.primero while (temp.Ld != None): temp = temp.Ld self.ultimo = temp def BuscarInsertar(self, dato): y = 0 temp = self.primero while (temp != None and temp.info < dato): y = temp temp = temp.Ld return y def Insertar(self, NuevoNodo): if (self.primero == None): self.primero = NuevoNodo else: y = self.BuscarInsertar(NuevoNodo.info) if (y == 0): NuevoNodo.Li = self.primero.Li NuevoNodo.Ld = self.primero self.primero.Li = NuevoNodo self.primero = NuevoNodo elif (y.Ld == None): NuevoNodo.Ld = y.Ld NuevoNodo.Li = y y.Ld = NuevoNodo self.UltimoNodo() else: NuevoNodo.Li = y NuevoNodo.Ld = y.Ld temp = y.Ld temp.Li = NuevoNodo y.Ld = NuevoNodo def MostrarListaID(self): temp = self.primero while (temp != None): print(temp.info, end=" ") print(" <- -> ", end=" ") temp = temp.Ld print("Null") def MostrarListaDI(self): self.UltimoNodo() temp = self.ultimo while (temp != None): print(temp.info, end=" ") print(" <- -> ", end=" ") temp = temp.Li print("Null") lista1 = Lista() lista1.Insertar(Nodo(10)) lista1.Insertar(Nodo(30)) lista1.Insertar(Nodo(40)) lista1.Insertar(Nodo(50)) lista1.Insertar(Nodo(60)) lista1.Insertar(Nodo(70)) print("Izquierda a Derecha") lista1.MostrarListaID() print("") print("Derecha a Izquierda") lista1.MostrarListaDI()