跳到主要内容

请用 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方法返回栈的大小。