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