数据结构之队列

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-24 06:21   29   0

数据结构之队列(Queue)

一、队列的结构

队列是一种存储数据的容器,支持按照先进先出(FIFO,First In First Out)的顺序,对数据进行插入,访问,删除等操作。

队列只支持在头部进行删除操作,在尾部进行插入操作,因此任何时候访问、删除的都是该队列最先插入的数据,最后插入的数据永远排在最后

二、一个队列对象包含的操作

# Queue() 创建一个空的队列
# enqueue(item) 往队列中添加一个item元素
# dequeue() 从队列头部删除一个元素
# is_empty() 判断一个队列是否为空
# size() 返回队列的大小

三、实现一个队列

class MyQueue:
    def __init__(self):
        self.queue = []

    def enqueue(self, item):
        '''
        在队列尾部添加一个item
        :param item:
        :return:
        '''
        self.queue.append(item)

    def dequeue(self):
        '''
        从队列头部删除一个item
        :return:
        '''
        if not self.queue:
            return None
        else:
            self.queue.pop(0)

    def is_empty(self):
        '''
        判断队列是否为空
        :return:
        '''
        return self.queue == []

    def size(self):
        '''
        返回队列item个数
        :return: 
        '''
        return len(self.queue)

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP