python 栈的简单实现

栈(stacks)是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表, 它按照先进后出的原则存储数据(Last In First Out - LIFO)。

  • 代码(使用list):

    class Stack(object):
        # 初始化
        def __init__(self):
            self.items = []
        # 判断是否为空
        def is_empty(self):
            return self.items == []
        # 返回栈顶元素
        def peek(self):
            if self.is_empty():
                raise KeyError("stack is None")
            return self.items[len(self.items) - 1]
        #返回栈的大小
        def size(self):
            return len(self.items)
        # 入栈,把新的元素放进栈里
        def push(self, item):
            self.items.append(item)
        # 出栈,把栈顶元素丢出去
        def pop(self):
            if self.is_empty():
                raise KeyError("stack is None")
            return self.items.pop()
    
    if __name__ == '__main__' :
        a_stack = Stack()
        # 插入元素
        a_stack.push('一')
        a_stack.push('二')
        a_stack.push('三')
        
        print(a_stack.size())    # 3
        print(a_stack.peek())    # 三
        print(a_stack.pop())     # 三
        print(a_stack.peek())    # 二
        print(a_stack.size())    # 2
        print(a_stack.is_empty())  # False
        a_stack.__init__()
        print(a_stack.is_empty())  # True
    

    本文链接:时光不写博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章