1
我已經設法通過它的插入方法創建一個線程二叉搜索樹。我現在需要遍歷樹並按順序打印。我有可用的代碼,但我使用布爾標誌來確定是否打印了特定的節點。對於這個任務,它不能是遞歸的。我想知道是否有一種可能的方法將所有布爾標誌全部清除爲false,因爲如果我再次嘗試打印,它將會,並且確實不起作用。有什麼建議麼?這裏是我的顯示方法的副本。線程化二叉搜索樹Java
public void display(){
Node parent=top;
Node current=top;
while (current != null){
parent = current;
current = current.getLeft();
}
System.out.println(parent);
current=parent.getRight();
while(current!= null){
while(current.isHasLeftThread()==false && current.getLeft().hasBeenHere()==false){
parent = current;
current=current.getLeft();
}
System.out.println(current);
current.setBeenHere(true);
current=current.getRight();
System.out.println(current);
current.setBeenHere(true);
current = current.getRight();
}
}