stack

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

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

 

posted @ 2018-04-26 20:07  撒哈拉沙漠吹过的热风  阅读(83)  评论(0)    收藏  举报