TAD de las pilas: Inclusión de pilas

Utilizando el tipo abstracto de datos de las pilas, definir la función

tal que contenidaPila p1 p2 se verifica si todos los elementos de de la pila p1 son elementos de la pila p2. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

Un comentario

  1. La función contenidaPila recibe dos pilas, p1 y p2, y verifica si todos los elementos de la pila p1 son elementos de la pila p2. Utilizamos una estrategia recursiva para verificar cada elemento de p1 en p2.

    Iniciamos la función verificando si p1 es vacía, en cuyo caso retornamos True ya que todos los elementos de una pila vacía son elementos de cualquier otra pila. Si p1 no es vacía, entonces verificamos si el primer elemento de p1, que es la cima de p1, está contenido en p2 utilizando la función pertenecePila. Si está contenido, continuamos verificando el resto de la pila, desapilando la cima y llamando recursivamente a contenidaPila con el resto de la pila y p2. Si en algún momento se encuentra un elemento de p1 que no está en p2, retorna False.

Escribe tu solución