python数据结构基础(5)
本章学习的是栈.它最突出的特点是后进先出,与队列恰好相反,但其在实现过程中与队列异曲同工.
栈的基本结构:
栈是按照有序的后进先出规则运行的一种结构,其插入和删除操作均在栈项进行这一点区别于队列的队尾进队,队头出队.
栈一般包括入栈和出栈操作,且有一个顶指针(top)用于指示栈项位置.
栈的实现:
使用python实现栈,包括如下几种方法.
__init__():初始化方法,用于创建一个空栈
__len__():返回栈的长度
isempty():返回栈是否为空
push():向栈压入一个元素.
gettop():获取栈顶元素
pop():执行一次出栈操作,返回弹出的元素值
示例代码如下:
class Stack:
def __init__(self):
# 创建空栈
# 初始化一个空列表来存储栈中的元素
self.data = []
def __len__(self):
# 返回栈中元素的数量
# 这是内置的len函数的自定义实现,允许使用len(stack)来获取栈的大小
return len(self.data)
def isempty(self):
# 检查栈是否为空
# 如果栈中没有元素,返回True,否则返回False
return len(self.data) == 0
def push(self, d):
# 向栈中添加一个元素
# 将元素d添加到列表的末尾,这模拟了栈的入栈操作
self.data.append(d)
def gettop(self):
# 获取栈顶元素
# 如果栈为空,返回提示信息'Stack is empty'
# 否则返回列表的最后一个元素,即栈顶元素
if self.isempty():
return 'Stack is empty'
return self.data[-1]
def pop(self):
# 移除栈顶元素并返回它
# 如果栈为空,返回提示信息'Stack is empty'
# 否则移除并返回列表的最后一个元素,即栈顶元素
if self.isempty():
return 'Stack is empty'
return self.data.pop()
原文地址:https://blog.csdn.net/pianmian1/article/details/143577969
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!