in

Python – Pila


En el diccionario de inglés, la palabra pila significa colocar objetos sobre otros. Es la misma forma en que se asigna la memoria en esta estructura de datos. Almacena los elementos de datos de manera similar a como se almacenan un montón de platos uno encima del otro en la cocina. Entonces, la estructura de datos de la pila permite operaciones en un extremo que se puede llamar parte superior de la pila. Podemos agregar elementos o eliminar elementos solo de este extremo de la pila.

En una pila, el elemento inscrito en último lugar en secuencia saldrá primero, ya que solo podemos eliminar de la parte superior de la pila. Esta función se conoce como función Último en entrar, primero en salir (LIFO). Las operaciones de agregar y quitar los elementos se conocen como EMPUJAR y MÚSICA POP. En el siguiente programa lo implementamos como agregar y y retirar funciones. Declaramos una lista vacía y usamos los métodos append () y pop () para agregar y eliminar los elementos de datos.

EMPUJAR en una pila

Entendamos cómo usar PUSH en Stack. Consulte el programa mencionado a continuación:

Ejemplo


class Stack:
   def __init__(self):
      self.stack = []

   def add(self, dataval):
# Use list append method to add element
      if dataval not in self.stack:
         self.stack.append(dataval)
         return True
      else:
         return False
# Use peek to look at the top of the stack
   def peek(self):     
	   return self.stack[-1]

AStack = Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.peek()
print(AStack.peek())
AStack.add("Wed")
AStack.add("Thu")
print(AStack.peek())

Producción

Cuando se ejecuta el código anterior, produce el siguiente resultado:


Tue
Thu

POP de una pila

Como sabemos, podemos eliminar solo el elemento de datos superior de la pila, implementamos un programa de Python que lo hace. La función de eliminación en el siguiente programa devuelve el elemento más superior. Verificamos el elemento superior calculando el tamaño de la pila primero y luego usamos el método pop () incorporado para encontrar el elemento superior.


class Stack:
   def __init__(self):
      self.stack = []

   def add(self, dataval):
# Use list append method to add element
      if dataval not in self.stack:
         self.stack.append(dataval)
         return True
      else:
         return False
        
# Use list pop method to remove element
   def remove(self):
      if len(self.stack) <= 0:
         return ("No element in the Stack")
      else:
         return self.stack.pop()

AStack = Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.add("Wed")
AStack.add("Thu")
print(AStack.remove())
print(AStack.remove())

Producción

Cuando se ejecuta el código anterior, produce el siguiente resultado:


Thu
Wed

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

ds 2d array

Matriz DS 2D – javatpoint

apple touch icon@2

agnóstico del lenguaje – ¿Qué son los operadores de desplazamiento de bits (bit-shift) y cómo funcionan?