我正在尝试为我的二叉搜索树实现迭代器。为了实现这一点,我试图通过树进行有序遍历并产生每个单独的数据成员。这将允许我遍历树的每个项目。
我的功能:
def __iter__(self):
"""
in-order traversal of a binary search tree
"""
if self.root is not None:
self.check(self.root)
def check(self, cur_node):
if cur_node is not None:
self.check(cur_node.left)
yield cur_node.data #if I were to print this data member, it would be fine
self.check(cur_node.right)
使用迭代测试此函数时,例如
for i in tree:
我收到此错误:
TypeError: iter() returned non-iterator of type 'NoneType'
沧海一幻觉
手掌心
九州编程
相关分类