队列类的设计与实现python

题目

进行队列类的设计并实现, 包括以下功能:

  1. 实现清空队列的操作
  2. 实现判断队列是否为空的操作
  3. 实现求队列长度的操作
  4. 实现返回队首元素的操作
  5. 实现入队的操作
  6. 实现出队的操作
  7. 实现队列遍历操作
  8. 在图形类上编写一个测试该类的程序

队列类如下

class Queue(object):
    """先进先出队列"""

    def __init__(self):
        self.items = []

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

    def del_queue(self):
        """清空队列"""
        self.items = []

    def en_queue(self, item):
        """进队列"""
        self.items.insert(0, item)

    def de_queue(self):
        """出队列"""
        if len(self.items) == 0:
            return False
        else:
            return self.items.pop()

    def get_first(self):
        """返回队首元素"""
        if len(self.items) == 0:
            return False
        else:
            return self.items[-1]

    def size_queue(self):
        """求队列长度"""
        return len(self.items)

    def travel_queue(self):
        # 判断是否为空,如果为空,则返回特定值
        s = ""
        if len(self.items) == 0:
            return False
        else:
            for i in self.items:
                s += i
                s += " "
            return s

窗口需要的相应函数如下:

    def en_queue():
        a = inp1.get()
        if a:
            queue.en_queue(a)
            txt.insert(END, " 成功在队列插入 " + a)
        else:
            txt.insert(END, " 未输入内容 " + a)
        inp1.delete(0, END)  # 清空输入

    def de_queue():
        b = queue.de_queue()
        if b:
            txt.insert(END, " 成功出队 " + b)
        else:
            txt.insert(END, " 出队失败 队列为空 ")

    def del_queue():
        txt.insert(END, " 队列成功清空 ")
        queue.del_queue()

    def travel_queue():
        s = queue.travel_queue()
        if s:
            txt.insert(END, " 队列内容如下:  " + s)
        else:
            txt.insert(END, " 遍历失败 队列为空 ")


    def len_queue():
        s = queue.size_queue()
        txt.insert(END, " 队列长度:  " + str(s))

    def first_queue():
        s = queue.get_first()
        if s:
            txt.insert(END, " 队首元素为:  " + s)
        else:
            txt.insert(END, " 队列为空 ")

测试截图如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值