使用 Python 实现一个简单的栈(Stack)类

365bet体育手机 📅 2025-08-30 15:39:47 👤 admin 👁️ 3556 ❤️ 148
使用 Python 实现一个简单的栈(Stack)类

使用 Python 实现一个简单的栈(Stack)类

Python3 实例

栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。我们可以使用 Python 的列表来实现一个简单的栈类。这个类将包含以下几个基本操作:

push(item):将元素 item 压入栈顶。

pop():移除并返回栈顶的元素。

peek():返回栈顶的元素但不移除它。

is_empty():检查栈是否为空。

size():返回栈中元素的数量。

实例

class Stack:

def __init__(self):

self.items = []

def is_empty(self):

return self.items == []

def push(self, item):

self.items.append(item)

def pop(self):

if self.is_empty():

raise IndexError("pop from empty stack")

return self.items.pop()

def peek(self):

if self.is_empty():

raise IndexError("peek from empty stack")

return self.items[-1]

def size(self):

return len(self.items)

代码解析:

__init__(self):初始化一个空列表 items 来存储栈中的元素。

is_empty(self):检查栈是否为空,如果 items 列表为空则返回 True,否则返回 False。

push(self, item):将元素 item 添加到 items 列表的末尾,即压入栈顶。

pop(self):移除并返回 items 列表的最后一个元素,即栈顶元素。如果栈为空,则抛出 IndexError 异常。

peek(self):返回 items 列表的最后一个元素,即栈顶元素,但不移除它。如果栈为空,则抛出 IndexError 异常。

size(self):返回 items 列表的长度,即栈中元素的数量。

输出结果:

实例

# 示例使用

stack = Stack()

stack.push(1)

stack.push(2)

stack.push(3)

print(stack.peek()) # 输出: 3

print(stack.pop()) # 输出: 3

print(stack.size()) # 输出: 2

print(stack.is_empty()) # 输出: False

stack.pop()

stack.pop()

print(stack.is_empty()) # 输出: True

在这个示例中,我们首先创建了一个栈对象 stack,然后依次将元素 1、2 和 3 压入栈中。接着我们查看了栈顶元素(3),并移除了它。最后我们检查了栈的大小和是否为空。

Python3 实例

相关养生推荐

钱宝到账pos机 钱宝pos到账慢
亚洲365bet比分

钱宝到账pos机 钱宝pos到账慢

📅 08-17 👁️ 6671
1000立方厘米是多少立方分米?
bat365官方网站

1000立方厘米是多少立方分米?

📅 08-18 👁️ 9847
为什么淘宝图片不显示了?怎么设置出来?
bat365官方网站

为什么淘宝图片不显示了?怎么设置出来?

📅 08-21 👁️ 1608