python自定义类实现带超时功能的队列结构

目标

(1)了解标准库time中time函数的用法
(2)了解如何定义一个类
(3)理解队列结构的特点。
(4)理解入队和出队时超时功能的实现。

实验内容

编写程序,实现自定义类、模拟队列结构。要求实现入队、出队以及修改队列大小和判断队列是否为空,是否为满的功能,同时要求在入队时如果队列已满则等待指定时间,出队时如果队列已空则等待指定时间等辅助功能。自选现实生活案例演示类的该类的使用方法。

实验说明:

本实验通过自定义实现队列,其中要考虑到超时辅助功能,通过利用python中内置的列表来实现队列,其中通过列表的pop()函数实现出队,通过insert(0,item)来实现入队操作。然后通过现实生活中打印机工作的例子,打印机会将要打印的任务放到队列中,按照队列的顺序进行打印。通过模拟打印机的工作过程来展示自定义队列的使用方法。

实验源代码

队列类
import time


class Queue:
    def __init__(self, size, times):
        # 如果队列满则等待时间
        self.times = times
        # 记录队列容量的最大值
        self.size = size
        self.items = []

    def isEmpty(self):
        return len(self.items) == 0

    def get_size(self):
        return len(self.items)

    def isFull(self):
        return len(self.items) == self.size

    def setSize(self, size):
        # 如果增大队列大小,直接修改队列中的size属性
        if size >= self.size():
            self.size = size
            # 如果缩小队列,则需要删除队列中后面的元素
        else:
            self.items = self.items[self.size - size:]

    def enqueue(self, item)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值