輸入一系列整數,建立二叉排序樹,並進行前序,中序,後序遍歷。
輸入第一行包括乙個整數n(1<=n<=100)。接下來的一行包括n個整數。
可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序樹,並對二叉排序樹進行前序、中序和後序遍歷。示例1每種遍歷結果輸出一行。每行最後乙個資料之後有乙個空格。
輸入中可能有重複元素,但是輸出的二叉樹遍歷序列中重複元素不用輸出。
複製
5複製1 6 5 9 8
1 6 5 9 8二叉排序樹(二叉搜尋樹)的遞迴方法建立,以及前中後序遍歷。1 5 6 8 9
5 8 9 6 1
#include using namespace std;
struct node;
bool creat(node * &root,int a)
if(a>root->data)
else
}void preorder(node *root)
if(root->r!=null)
}void midorder(node *root)
coutif(root->r!=null)
}void postorder(node *root)
if(root->r!=null)
cout}int main()
bool temp[102];
for(int i=0;idata=num1[0];
roo->l=null;
roo->r=null;
for(int i=1;ipreorder(roo);
cout
cout
cout<} return 0;
}
二叉樹遍歷方式(前 中 後序)
順序是針對根節點來說的。前序遍歷首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。中序遍歷首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。在遍歷左 右子樹時,仍然先遍歷左子樹,再訪問根結點,最後遍歷右子樹。後序遍歷指在訪問根結點 遍歷...
二叉樹的前中後序遍歷
秋招記錄 對一棵二叉樹進行遍歷,我們可以採取3種順序進行遍歷,分別是前序遍歷 中序遍歷和後序遍歷。這三種方式是以訪問父節點的順序來進行命名的。假設父節點是n,左節點是l,右節點是r,那麼對應的訪問遍歷順序如下 前序遍歷 中左右 n l r 中序遍歷 左中右 l n r 後序遍歷 左右中 l r n ...
二叉樹的前 中 後序遍歷
import lombok.data import lombok.noargsconstructor data noargsconstructor class treenode 前序遍歷 根 左 右 public void preorder 遞迴向右子樹前序遍歷if this right null ...