Listas

05.08.2023

Desapilar

class Nodo:

def _init_(self, dato):

self.dato = dato

self.siguiente = None

self.anterior = None

class ListaNodos:

def _init_(self):

self.cabeza = None

self.cola = None

def apilar(self, dato):

nuevo_nodo = Nodo(dato)

if self.cola is None:

self.cola = nuevo_nodo

self.cabeza = nuevo_nodo

else:

nuevo_nodo.siguiente = self.cola

self.cola.anterior = nuevo_nodo

self.cola = nuevo_nodo

def desapilar(self):

if self.cabeza is None:

print("NO HAY NADA PARA DESAPILAR")

else:

dato = self.cola.dato

self.cola = self.cola.siguiente

if self.cola is not None:

self.cola.anterior = None

else:

self.cabeza = None

return dato

def mostrar(self):

if self.cabeza is None:

print("NO HAY NADA PARA MOSTRAR")

else:

nodo_actual = self.cabeza

while (nodo_actual!=None):

print(nodo_actual.dato)

nodo_actual = nodo_actual.anterior

def mostrar_menu():

print("\n--- MENÚ ---")

print("1. Apilar")

print("2. Desapilar")

print("3. Mostrar")

print("4. Salir")

opcion = input("Ingrese su opción: ")

return opcion

lista = ListaNodos()

while True:

opcion = mostrar_menu()

if opcion == "1":

dato = input("Ingrese el elemento a apilar: ")

lista.apilar(dato)

elif opcion == "2":

dato_desapilado = lista.desapilar()

if dato_desapilado:

print("Elemento desapilado:", dato_desapilado)

elif opcion == "3":

lista.mostrar()

elif opcion == "4":

print("Hasta pronto!")

break

2023 Asociación
Arte emergente | Todos los derechos reservados.
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar