美文网首页
栈的实现

栈的实现

作者: Jack_Hsin | 来源:发表于2018-05-21 21:58 被阅读0次
    1. 关于栈(stack)


      stack.jpg
    2. 代码实现
    class Stack(object):
        """栈"""
        def __init__(self):
            self.__list = []
    
        def push(self, item):
            """添加一个新的元素item到栈顶"""
            self.__list.append(item)
    
        def pop(self):
            """弹出栈顶元素"""
            return self.__list.pop()
    
        def peek(self):
            """返回栈顶元素"""
            if self.__list:
                return self.__list[-1]
            else:
                return None
    
        def is_empty(self):
            """判断栈是否为空"""
            return self.__list == []
            #return not self.__list
    
        def size(self):
            """返回栈的元素个数"""
            return len(self.__list)
    
    if __name__ == "__main__":
        s = Stack()
        s.push(1)
        s.push(2)
        s.push(3)
        print(s.peek())
        print(s.is_empty())
        print(s.size())
        print(s.pop())
    
    
    >>> 
    ================== RESTART: /Users/xinqi/Documents/test.py ==================
    3
    False
    3
    3
    >>> 
    

    相关文章

      网友评论

          本文标题:栈的实现

          本文链接:https://www.haomeiwen.com/subject/xbxcjftx.html