队列 - 实现

姓名:张钰 学号:21011210154 学院:通信工程学院

【嵌牛导读】队列是先入先出的数据结构,本文将首先介绍先入先出(FIFO)及其在队列中的工作方式,并能够自己实现队列。

【嵌牛鼻子】先入先出

【嵌牛提问】队列如何来实现

【嵌牛正文】

队列是典型的先入先出数据结构,在先入先出的数据结构中,首先处理添加到队列中的第一个元素。如下图所示,插入insert操作也称作入队enqueue,新元素始终被添加在队列的末尾。 删除delete操作也被称为出队dequeue,出队时要移除第一个元素。

image

为了实现队列,我们可以使用动态数组和指向队列头部的索引。如上所述,队列应支持两种操作:入队和出队。入队会向队列追加一个新元素,而出队会删除第一个元素。 所以我们需要一个索引来指出起点。

python实现队列:

class Queue():
    def __init__(self):
        self.list = []
    def enqueue(self, item):
        self.list.append(item)   # 向队列中添加元素:进队
    def dequeue(self):
        # 删除队列元素:出队
        if self.list:
            return self.list.pop(0)
        else:
            return None
    def is_empty(self):
        return self.list == []   #  判断队列是否为空
    def size(self):
        return len(self.list)   #  查询队列长度
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容