Python - fila

Estamos familiarizados com a fila de espera em nosso dia a dia enquanto esperamos por um serviço. A estrutura de dados da fila também significa a mesma quando os elementos de dados são organizados em uma fila. A singularidade da fila está na maneira como os itens são adicionados e removidos. Os itens são permitidos na extremidade, mas removidos da outra extremidade. Portanto, é um método First-in-First-out. Uma fila pode ser implementada usando a lista python, onde podemos usar os métodos insert () e pop () para adicionar e remover elementos. Não há inserção, pois os elementos de dados são sempre adicionados no final da fila.

Adicionando Elementos a uma Fila

No exemplo a seguir, criamos uma classe de fila onde implementamos o método First-in-First-Out. Usamos o método de inserção embutido para adicionar elementos de dados.

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())

Quando o código acima é executado, ele produz o seguinte resultado -

3

Removendo elemento de uma fila

No exemplo a seguir, criamos uma classe de fila onde inserimos os dados e, em seguida, removemos os dados usando o método pop embutido.

.
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())

Quando o código acima é executado, ele produz o seguinte resultado -

Mon
Tue