Python - Cola

Estamos familiarizados con la cola en nuestro día a día mientras esperamos un servicio. La estructura de datos de la cola también significa lo mismo cuando los elementos de datos están dispuestos en una cola. La singularidad de la cola radica en la forma en que se agregan y eliminan los elementos. Los artículos se permiten al final pero se retiran del otro extremo. Por lo tanto, es un método primero en entrar, primero en salir. Se puede implementar una cola usando la lista de Python donde podemos usar los métodos insert () y pop () para agregar y eliminar elementos. No hay inserción, ya que los elementos de datos siempre se agregan al final de la cola.

Agregar elementos a una cola

En el siguiente ejemplo, creamos una clase de cola en la que implementamos el método First-in-First-Out. Usamos el método de inserción incorporado para agregar elementos de datos.

class Queue:

  def __init__(self):
      self.queue = list()

  def addtoq(self,dataval):
# Insert method to add element
      if dataval not in self.queue:
          self.queue.insert(0,dataval)
          return True
      return False

  def size(self):
      return len(self.queue)

TheQueue = Queue()
TheQueue.addtoq("Mon")
TheQueue.addtoq("Tue")
TheQueue.addtoq("Wed")
print(TheQueue.size())

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

3

Eliminar elemento de una cola

En el siguiente ejemplo, creamos una clase de cola donde insertamos los datos y luego los eliminamos utilizando el método pop incorporado.

.
class Queue:

  def __init__(self):
      self.queue = list()

  def addtoq(self,dataval):
# Insert method to add element
      if dataval not in self.queue:
          self.queue.insert(0,dataval)
          return True
      return False
# Pop method to remove element
  def removefromq(self):
      if len(self.queue)>0:
          return self.queue.pop()
      return ("No elements in Queue!")

TheQueue = Queue()
TheQueue.addtoq("Mon")
TheQueue.addtoq("Tue")
TheQueue.addtoq("Wed")
print(TheQueue.removefromq())
print(TheQueue.removefromq())

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

Mon
Tue