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 != self.primero): temp = temp.Ld self.ultimo = temp def BuscarInsertar(self, dato): temp = self.primero.Ld y = self.primero while (temp != self.primero and temp.info < dato): y = temp temp = temp.Ld return y def Insertar(self, NuevoNodo): if (self.primero == None): self.primero = NuevoNodo self.primero.Ld = self.primero self.ultimo = self.primero self.primero.Li = self.ultimo else: y = self.BuscarInsertar(NuevoNodo.info) NuevoNodo.Ld = y.Ld NuevoNodo.Li = y temp = NuevoNodo.Li temp.Ld = NuevoNodo temp = NuevoNodo.Ld temp.Li = NuevoNodo def MostrarLista(self): temp = self.primero print("U", end=" ") print(" <- ", end=" ") while (temp.Ld != self.primero): print(temp.info, end=" ") print(" <- -> ", end=" ") temp = temp.Ld print(temp.info, end=" ") print(" -> ", end=" ") temp = temp.Ld print("P") lista1 = Lista() lista1.Insertar(Nodo(10)) lista1.Insertar(Nodo(30)) lista1.Insertar(Nodo(48)) lista1.Insertar(Nodo(35)) lista1.MostrarLista()