zoukankan      html  css  js  c++  java
  • 使用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列表实现栈和队列的全部,希望可以帮助到大家!

  • 相关阅读:
    有耗介质中波的传播
    介质分界处的反射
    TFSF边界条件
    吸收边界条件
    .apk的MIME类型
    Java instanceof
    Java toString()方法的自动调用
    整理一系列优秀的Android开发源码
    GOOGLE CODE ANDROID 开源项目 集合
    imsdroid 学习(初认识)
  • 原文地址:https://www.cnblogs.com/ycycn/p/13788336.html
Copyright © 2011-2022 走看看