栈(链表)
类的说明
创建__init__
判断空is_empty
压push
出pop
取得最后压入的top
class LNode:
def __init__(self,elem,next_=None):
self.elem = elem
self.next_ = next_
class Stack:
def __init__(self):
self._top = None
def is_empty(self):
return self._top is None
def push(self,elem):
self._top = LNode(elem,self._top)
def pop(self):
if self._top is None:
raise StackUnderflow("at top")
p = self._top
self._top = self.next_
return p.elem
def top(self):
if self._top is None:
raise StackUnderflow("at top")
return self._top.elem