首页 > 其他 > 详细

stack

时间:2018-04-26 20:25:26      阅读:206      评论:0      收藏:0      [点我收藏+]

stack 

使用栈 需要节点(Node)

原理 

  --每一个待压入的节点都是待压入的新元素与当前栈顶节点构成的一个节点, 也就是说每一个节点都保存着上一个节点的信息

特性 --先进后出

class Node():
    def __init__(self, element=None, next=None):
        self.element = element
        self.next = next

class Stack():
    def __init__(self):
        self.head = Node()
    
    def is_empty(self):
        return self.head.next is None

    def push(self, element):
        #
        self.head.next = Node(element, self.head.next)

    def pop(self):
        node = self.head.next
        if not self.is_empty():
            self.head.next = node.next
        return node

    def top(self):
        return self.head.next
            

 

  -- 原理  使用当前栈的新元素与head.next 构建一个 Node, 然后使头结点的next

  总之  一个新结点保存着新元素和老结点的信息

 

stack

原文:https://www.cnblogs.com/hinweb/p/8954765.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!