请用 Python 代码简答实现stack?
参考答案:
在Python中,你可以使用列表(list)来模拟栈(stack)的行为。栈是一种后进先出(LIFO)的数据结构。下面是一个简单的栈实现:
class Stack:
def __init__(self):
self.stack = []
# 添加元素到栈顶
def push(self, item):
self.stack.append(item)
# 从栈顶移除元素并返回
def pop(self):
if not self.is_empty():
return self.stack.pop()
else:
return "Stack is empty"
# 查看栈顶元素
def peek(self):
if not self.is_empty():
return self.stack[-1]
else:
return "Stack is empty"
# 检查栈是否为空
def is_empty(self):
return len(self.stack) == 0
# 获取栈的大小
def size(self):
return len(self.stack)
# 使用示例
s = Stack()
s.push("A")
s.push("B")
s.push("C")
print(s.peek()) # 输出: C
print(s.pop()) # 输出: C
print(s.peek()) # 输出: B
在这个示例中,我们定义了一个名为Stack
的类,该类有四个主要方法:push
(添加元素到栈顶),pop
(从栈顶移除元素并返回),peek
(查看栈顶元素)和is_empty
(检查栈是否为空)。size
方法返回栈的大小。