栈的链表方式实现--python
栈的链表方式实现–pythonclass SizeExcetion(Exception):def __init__(self):super(SizeExcetion, self).__init__()def __str__(self):print("Stack is empty")class Node:def __init__(self, item):self.item = itemself
·
栈的链表方式实现–python
class SizeExcetion(Exception):
def __init__(self):
super(SizeExcetion, self).__init__()
def __str__(self):
print("Stack is empty")
class Node:
def __init__(self, item):
self.item = item
self.next = None
@property
def p_item(self):
return self.item
@p_item.setter
def p_item(self, item):
self.item = item
@property
def p_next(self):
return self.next
@p_next.setter
def p_next(self, next):
self.next = next
def __str__(self):
return str(self.item)
class Stack:
def __init__(self):
self.count = 0
self._stk = None
super(Stack, self).__init__()
def push(self, node: Node):
self.count += 1
if self._stk is None:
self._stk = node
else:
node.next = self._stk
self._stk = node
def pop(self):
if self.count > 0:
self.count -= 1
else:
raise SizeExcetion
self._stk = self._stk.next
@property
def stack(self):
return self._stk
if __name__ == '__main__':
stack = Stack()
node = Node("第一个node")
node1 = Node("第二个node")
stack.push(node)
stack.push(node1)
stack.pop()
stack.pop()
print(stack.stack)
更多推荐
已为社区贡献2条内容
所有评论(0)