在不使用列表方法的情况下,如何模拟堆栈的push和pop函数?在
到目前为止,我有类似的东西,但我不确定这是否可行:
stack = []
def Push(stack, element):
stack[len(stack)] = element
def Pop(stack):
element = tos
stack[len(stack) - 1] = None
return element;
会推送工作,以这种方式动态地添加到列表中,len会适当地更新吗?在
对于pop,如何在不使用任何list函数的情况下从堆栈中“删除”?在
Tags:
您可以预先分配列表:
您可以使用类似于的东西(警告:这是一个幼稚的实现-它不会对传递的参数执行检查):
注意:这个方法没有使用}。在
list
方法作为append
和{示例:
^{pr2}$我想这个练习的目的是将堆栈看作一个abstract data type。你可以不使用列表来实现它们。如果你坚持使用列表,我不知道你说的“不使用列表方法”是什么意思。在
堆栈(作为列表)是一种具有两个构造函数的数据类型:(A)空堆栈,(b)将元素推送到堆栈上的结果。您可以在Python中实现这两种方法的许多不同实现。E、 g.,}之上的结果。我建议你在寻求更多帮助之前,试着自己做一些类似的事情。在
None
可能是空堆栈,(x, s)
可能是将x
推到{相关问题 更多 >
编程相关推荐