• 使用python中的list列表实现栈和队列


    直接上代码:

    1.栈:

    class Stack(object):
        def __init__(self):
            self.l = []
            
        def empty(self):
            # 判断栈是否为空
            return len(self.l) == 0
    
        def peek(self):
            # 查看栈顶的对象,但不移除
            if not self.empty():
                return self.l[-1]
            return None
    
        def pop(self):
            # 移除栈顶对象,并返回该对象的值
            if not self.empty():
                return self.l.pop()
            return None
    
        def push(self, obj):
            # 把对象压入栈顶
            self.l.append(obj)
    
        def search(self, obj):
            # 返回对象在栈中的位置,以1为基数
            if not self.empty():
                return self.l.index(obj) + 1
            return -1
    

    2.队列:

    class Queue(object):
        def __init__(self):
            self.l = []
    
        def empty(self):
            # 判断队列是否为空
            return len(self.l) == 0
    
        def add(self, obj):
            # 将指定元素加入队列的尾部
            self.l.append(obj)
    
        def peek(self):
            # 查看队首的对象,但不移除
            if not self.empty():
                return self.l[0]
            return None
    
        def poll(self):
            # 移除队首对象,并返回该对象的值
            if not self.empty():
                return self.l.pop(0)
            return None
    

    还有一种deque的方法,有兴趣的可以看看。

    这就是list列表实现栈和队列的全部,希望可以帮助到大家!

  • 相关阅读:
    工欲善其事,必先利其器
    年度总结
    人脸解锁从底层到上层(一)
    Hexo NexT 主题添加评论和文章阅读量
    摄影历程-第一章
    西藏之旅
    软件测试和评估
    WordCount优化
    WordCount编码与测试
    值得深入思考的五个问题
  • 原文地址:https://www.cnblogs.com/ycycn/p/13788336.html
Copyright © 2020-2023  润新知