zoukankan      html  css  js  c++  java
  • Python编程题31用列表实现队列

    题目

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

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

    • push(x) -- 将元素 x 推到队列的末尾
    • pop() -- 从队列开头移除元素
    • peek() -- 返回队列开头的元素
    • empty() -- 判断队列是否为空
    • size() -- 获取队列的长度

    说明:假设每次调用 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编程题汇总(持续更新中……)

    作者:wintest
    本文版权归作者和博客园共有,欢迎转载,但必须在文章页面明显位置给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    原生小程序音频播放
    Vue定义全局过滤器filter
    系统扩展性之引入外部包
    oracle update join
    OAuth2
    oracle pl/sql
    MySQL同步工具otter的使用介绍(一)
    python批量安装apk
    mac brew安装redis
    antd 修改Modal的底部按钮颜色
  • 原文地址:https://www.cnblogs.com/wintest/p/15611726.html
Copyright © 2011-2022 走看看