Учебники

Python — очередь

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

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

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

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

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