栈结构
2026-01-25 18:00:19
发布于:浙江
栈是一种数据结构,C++可以直接使用#include<stack> 导入栈,而Python需要自己编写:
class Stack:
def __init__(self,typef):
self.typef=typef
self.listf=[]
def __del__(self):
del self.typef
del self.listf
def __repr__(self):
return str(self.listf)
def __str__(self):
return str(self.listf)
def push(self,data):
if type(data)!=self.typef:
raise ValueError
else:
self.listf.append(data)
def pop(self):
a=self.listf[-1]
del self.listf[-1]
return a
def size(self):
return len(self.listf)
def empty(self):
return len(self.listf)==0
这个栈的编写不仅包含了普通的栈的功能,还拥有以下功能:
1.重写了__del__ 方法,在对象销毁的时候删除self.listf 和self.typef
2.重写了__str__ 方法,在调用print(stack1) 的时候会输出列表
3.重写了__repr__ 方法,在 IDLE 的 shell 窗口里:
>>>stack1=Stack(int)
>>>stack1
[]
>>>
这里空空如也














有帮助,赞一个