非遞迴實現交換二叉樹的左右子節點

2021-06-14 10:59:40 字數 597 閱讀 7820

思路一:

兩個佇列

思路二:

struct treenode

;void exchangenode(treenode *proot)

}

非遞迴前序、中序、後序遍歷

兩個棧

void preordernonrecursive(treenode * node) 

}void inordernonrecursive(treenode * node)

else

}}void postordernonrecursive(treenode * node)

if (p->right != null)

}while (!svisit.empty())

}

void inordertree(treenode *root)

if (!s.empty())

}}void postordertree(treenode *root)

else

if (cur->left)

}}}

二叉樹 非遞迴實現

include include include include define elemtype char using namespace std typedef struct bitnodebitnode,bitree int createbitree bitree t return1 void p...

二叉樹 遞迴 非遞迴

include include include include using namespace std typedef struct node bintree typedef struct node1 btnode void creatbintree char s,bintree root 建立二叉...

二叉樹遍歷 遞迴 非遞迴實現

先序遍歷中序遍歷 後序遍歷 根結點 左子樹 右子樹 左子樹 根子樹 右子樹 左子樹 右子樹 根結點 先序遍歷 void preorder btree t 中序遍歷 void inorder btree t 後序遍歷 void postorder btree t 遞迴 recursion 就是子程式 ...