#Si tengo el apuntador de entrada a una cola. #ELABORA un ALGORITMO que permita CONSTRUIR una PILA con los elementos de la COLA de tal manera que el último elemento de la PILA(Tope) Sea el último Elemento de la COLA. class Nodo: def __init__(self, dato): self.dato = dato self.liga = None class Pila: def __init__(self): self.tope = None def apilar(self, dato): nuevo_nodo = Nodo(dato) if self.tope == None: self.tope = nuevo_nodo else: nuevo_nodo.liga = self.tope self.tope = nuevo_nodo def desapilar(self): if self.tope==None: return None dato = self.tope.dato self.tope = self.tope.liga return dato class Cola: def __init__(self): self.primero = None self.ultimo = None def encolar(self, dato): nuevo_nodo = Nodo(dato) if self.primero == None: self.primero = nuevo_nodo self.ultimo = nuevo_nodo else: self.ultimo.liga = nuevo_nodo self.ultimo = nuevo_nodo def desencolar(self): if self.primero==None: print("La cola esta vacía:") print("") return None dato = self.primero.dato self.primero = self.primero.liga return dato def construir_pila_desde_cola(cola): pila = Pila() while True: elemento = cola.desencolar() if elemento is None: break pila.apilar(elemento) return pila # Ejemplo de uso cola = Cola() cola.encolar(10) cola.encolar(20) cola.encolar(30) pila = construir_pila_desde_cola(cola) print("Elementos de la pila:") while True: elemento = pila.desapilar() if elemento is None: break print(elemento)