Python编程题31--用列表实现队列

2021-11-27  本文已影响0人  wintests

题目

队列是一种常见的数据结构,其特点是 先进先出,并且只能从队尾进队头出,也就是说最先放进去的元素,能够最先取出来。

请使用 列表list 模拟实现队列的下列操作:

说明:假设每次调用 pop 和 peek 都能保证队列不为空。

代码实现

class MyQueue:

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

    def push(self, x):
        self.q.append(x)

    def pop(self):
        self.q.pop(0)

    def peek(self):
        return self.q[0]

    def empty(self):
        return self.q == []

    def size(self):
        return len(self.q)

测试过程

if __name__ == '__main__':
    queue = MyQueue()
    queue.push(11)  # 入队
    queue.push(22)  # 入队
    print(queue.peek())
    print(queue.size())
    queue.pop()  # 出队
    print(queue.empty())
    print(queue.peek())
    queue.pop()  # 出队
    print(queue.size())
    print(queue.empty())

执行代码后,得到如下结果:

11
2
False
22
0
True

更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)

上一篇下一篇

猜你喜欢

热点阅读