.. 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());
}
}
}