在多种语言中,栈(Stack)是较为重要的一种基本数据结构。在Python中通过类可以定义一个栈结构。
以下是正文
先写好这些
class Stack:
"""关于栈的类"""
def __init__(self):
pass
因为栈是一种特殊的列表(list),所以在__init__后将该类型的值定义为一个空列表
class Stack:
"""关于栈的类"""
def __init__(self):
self.__stack = [] # 将值定义为一个空列表
栈是一个先进后出(FILO)的结构,对其add函数只需从头填入值(value)
def add(self, value):
self.__stack.insert(0, value)
pop函数只需从头取出值
def pop(self):
if self.__stack: # 判断栈是否为空,防止出现超出索引错误
del self.__stack[0]
else:
pass
查找我们通过__str__函数
def __str__(self):
if self.__stack:
return str(self.__stack[0]) # __str__的返回必须为'str'类型
else:
return 'None'
通过__len__函数可以查找栈的长度(非必要)
def __len__(self):
return len(self.__stack)
整个代码到此结束
附:全部代码
class Stack:
"""关于栈的类"""
def __init__(self):
self.__stack = []
def __str__(self):
if self.__stack:
return str(self.__stack[0])
else:
return 'None'
def __len__(self):
return len(self.__stack)
def add(self, value):
self.__stack.insert(0, value)
def pop(self):
if self.__stack:
del self.__stack[0]
else:
pass
注:
本文为原创,转载须注明出处
本文介绍了如何在Python中通过类定义栈数据结构,强调栈作为先进后出(FILO)结构的特点,包括如何使用`__init__`初始化为空列表,`add`函数添加元素,`pop`函数移除元素,以及利用`__str__`和`__len__`函数进行字符串表示和获取栈的长度。文章提醒读者,内容为原创,转载请注明来源。
443





