代码
class Node:
def __init__(self, data, _next = None):
self.data = data
self.next = _next
class Stack:
def __init__(self):
self.__top = None
self._size = 0
def push(self, item):
self.__top = Node(item, self.__top)
self._size += 1
def pop(self):
if self.is__empty():
raise ValueError("栈为空")
value = self.__top.data
self.__top = self.__top.next
self._size -= 1
return value
def top(self):
if self.is__empty():
raise ValueError("栈为空")
return self.__top.data
def is__empty(self):
return self._size == 0
def size(self):
return len(self._size)
if __name__ == '__main__':
stack = Stack()
stack.push(1)
stack.push(2)
stack.push(3)
stack.push(4)
print(stack.pop())
print(stack.pop())
print(stack.pop())
print(stack.pop())
print(stack.pop())
结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/de2e7e1bca34d40be10aa5e1e5927bce.png)