在多种语言中,栈(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
注:
本文为原创,转载须注明出处