队列简介

队列是 FIFO(先进先出)数据结构,即添加到队列的第一个元素将是第一个删除的元素(先出)。

让我们考虑一下等待帮助的客户的例子。爱丽丝,鲍勃和丹都在超市。爱丽丝准备付钱,所以她接近收银员。爱丽丝现在在队列中。她是队列中唯一的人,所以她既在前面也在后面。

现在,队列看起来像这样:

              |-------|
              | Alice | cashier
              |-------|
                ▲   ▲
back of queue ──┘   └── front of queue

现在 Bob 和 Dan 接近收银员。它们被添加到队列中。爱丽丝还在前面,丹在后面:

              |-------||-------||-------|
              |  Dan  ||  Bob  || Alice | cashier
              |-------||-------||-------|
                ▲                     ▲
back of queue ──┘                     └── front of queue

将人员添加到队列是排队操作。爱丽丝,鲍勃和丹已经入伍了。当收银员帮助每个客户时,他们将从队列中删除。这是出列操作。表示队列中数据元素的客户从队列的前面出队。这意味着第一个接近收银员的客户是第一个得到帮助的客户(FIFO)。