Python实现数据结构——栈 Python

栈(Stack) 栈是一种 后进先出(LIFO,Last In First Out) 的线性结构。允许操作的只有栈顶一端:压入(push)和弹出(pop)。 1. 使用列表模拟栈(最简方式)
PYTHON
# 创建一个空栈(列表)
stack = []

# 压入元素
stack.append(1)
stack.append(2)
stack.append(3)

# 弹出栈顶元素
top = stack.pop()
print(top)   # 3

# 查看栈顶元素(不弹出)
print(stack[-1])  # 2

# 判断栈是否为空
print(len(stack) == 0)  # False
2. 定义栈类(更规范)
PYTHON
class Stack:
    """栈的实现"""
    def __init__(self):
        self.items = []   # 用列表存储元素

    def push(self, item):
        """压入元素"""
        self.items.append(item)

    def pop(self):
        """弹出并返回栈顶元素"""
        if self.is_empty():
            raise IndexError("栈为空,无法弹出")
        return self.items.pop()

    def peek(self):
        """查看栈顶元素(不弹出)"""
        if self.is_empty():
            return None
        return self.items[-1]

    def is_empty(self):
        """判断栈是否为空"""
        return len(self.items) == 0

    def size(self):
        """返回栈中元素个数"""
        return len(self.items)

# 实例演示
s = Stack()
s.push(5)
s.push(10)
s.push(15)
print(s.pop())   # 15
print(s.peek())  # 10
print(s.size())  # 2
---
← 返回列表

评论 (0)

登录后可以发表评论

立即登录
💬

还没有评论,快来发表第一条评论吧!