使用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列表實現棧和隊列的全部,希望可以幫助到大家!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM