Python - очередь

Мы знакомы с очередью в повседневной жизни, ожидая обслуживания. Структура данных очереди также означает то же самое, когда элементы данных расположены в очереди. Уникальность очереди заключается в способе добавления и удаления элементов. Элементы разрешены на одном конце, но удалены с другого конца. Так что это метод «первым пришел - первым обслужен». Очередь может быть реализована с использованием списка Python, где мы можем использовать методы insert () и pop () для добавления и удаления элементов. Это не вставка, поскольку элементы данных всегда добавляются в конец очереди.

Добавление элементов в очередь

В приведенном ниже примере мы создаем класс очереди, в котором реализуем метод «первым пришел - первым обслужен». Мы используем встроенный метод вставки для добавления элементов данных.

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

Когда приведенный выше код выполняется, он дает следующий результат:

3

Удаление элемента из очереди

В приведенном ниже примере мы создаем класс очереди, в который мы вставляем данные, а затем удаляем данные с помощью встроенного метода pop.

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

Когда приведенный выше код выполняется, он дает следующий результат:

Mon
Tue