队列 是计算机科学中的一种数据结构,其概念与我们在现实生活场景中看到的队列非常相似。例如,我们在售票窗口、商店等地看到排队的人。
在一个队列中,先进入的项目先存在,这意味着它是一个先进先出(FIFO)的数据结构。元素的插入发生在一端(后端),元素的删除发生在另一端**(前端**)。
向队列中插入数据的过程被称为enqueue,而从队列中删除元素的过程被称为dequeue。
我们用一个叫做head 的指针表示队列的前端,用另一个叫做tail 的指针表示队列的后端。
为了理解队列数据结构的工作,请看下面的图。这里是一个队列的图形表示。

这里,队列由灰白色的线条表示。黄色、绿色和蓝色的圆圈是我们将插入队列的项目。
最初,我们有一个空队列。让我们一个一个地把项目插入队列中。

向队列中插入第一个项目
我们已经通过尾部向队列中插入了一个项目。现在,tail 的值被增加了1。head 的值保持不变。
现在,让我们以同样的方式插入另外两个项目。

在队列中插入第二个项目

在队列中插入第三个项目
正如你所看到的,我们首先将黄色项目插入队列,其次是绿色项目,然后是蓝色项目。
现在,让我们看看如何从队列中删除项目。因为它是一个FIFO(先进先出)的数据结构,先插入的项目将被首先删除。

删除队列中的第一个项目
你可以看到,当第一个项目被删除时,head的值被增加了1,现在,前端的项目是绿色的圆圈。让我们把另外两个项目也删除吧。

从队列中删除第二个项目

从队列中删除第三个项目
当所有三个项目都被从队列中删除后,头和尾的值变成了 "3"。当head的值等于tail的值时,队列被认为是空的。
使用Python实现队列
让我们用Python编程语言来实现队列数据结构。Python提供了很多方法来实现这个数据结构。现在我们将通过使用Python中的队列模块来实现它。
我们可以使用**put()方法将元素插入队列中。我们也有get()**方法来按先进先出的顺序从队列中删除项目。
下面是实现队列数据结构的Python代码。
from queue import Queue
myQueue = Queue()
print(myQueue.queue)
#inserting items into the queue
myQueue.put("Yellow")
myQueue.put("Green")
myQueue.put("Blue")
print(myQueue.queue)
#deleting items from the queue
myQueue.get()
print(myQueue.queue)
myQueue.get()
print(myQueue.queue)
myQueue.get()
print(myQueue.queue)
输出。

你可以查看这个在线工具,以直观地了解队列数据结构的概念。