.. BTPosition 및 NodeQueue에 대한
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());
}
}
}
API가 http://net3.datastructures.net/doc4/index.html?net/datastructures/
어떤 제안 정말 감사합니다에서 찾을 수 있습니다 당신은 대기열 유형이어야 할 것이다 BTPosition<E>
. <E>
은 단순히 객체 유형입니다 (예 : Integer
또는 String
). BTPosition
은 이진 트리의 실제 노드 인 것처럼 보입니다.
public void levelOrderTraversal()
{
NodeQueue<BTPosition<E>> queue = new NodeQueue<BTPosition<E>>();
BTPosition<E> current = root;
queue.enqueue(current);
while(!queue.isEmpty())
{
current = queue.dequeue();
System.out.println(temp.element().toString());
if (current.getLeft() != null)
{
queue.enqueue(current.getLeft());
}
if (current.getRight() != null)
{
queue.enqueue(current.getRight());
}
}
}