二叉樹遍歷遞歸和非遞歸方式java

..//遞歸方式
public void order(BinaryTreeNode node){
    if(node!=null){
        order(node.getLeftChirld());
        visit(node);
        order(node.getRightChirld());
    }
}
//非遞歸方式此處用到的棧是我自己用數組定義的一個MyStatck可查詢本人其他博客內容可查到與棧的用法基本一致
public void oeder2(BinaryTreeNode node){
    MyStack myStack =new MyStack();
    while (node!=null||!myStack.isEmpty()){
        if (node!=null){
            myStack.push(node);
            node=node.getLeftChirld();
        }else {
            node=(BinaryTreeNode)myStack.pop();
            visit(node);
            node=node.getRightChirld();
        }

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章