gpt4 book ai didi

java - 如何进行水平顺序遍历?

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:13 24 4
gpt4 key购买 nike

<分区>

我正在尝试对二叉树执行线性顺序遍历,但无法获得正确的输出。基本上我已经创建了一个队列,并首先将根入队,然后直到队列为空,我将第一个元素出列并将其子元素添加到队列的末尾。出列时它返回一个通用元素 ()。我在将此元素转换为树节点时遇到问题,以便我可以在下一步中将其子项排到队列的末尾。这是我到目前为止所做的:

public void levelOrderTraversal()
{
NodeQueue<E> queue = new NodeQueue<E>();
BTPosition<E> current = root;
queue.enqueue(current.element());
E temp = null;

while(!queue.isEmpty())
{
temp = queue.dequeue();
System.out.println(temp.toString());
current.setElement(temp);

if (hasLeft(current))
{
queue.enqueue(left(current).element());
}
if (hasRight(current))
{
queue.enqueue(right(current).element());
}
}
}

BTPosition 和 NodeQueue 的 API 可以在 http://net3.datastructures.net/doc4/index.html?net/datastructures/ 中找到

非常感谢任何建议..

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com