先序建立二叉樹及先序 中序 後序遍歷

2021-08-18 20:09:23 字數 1609 閱讀 9884

先序二叉樹

//先序建立二叉樹

void createbitree(bitree &t)

t = (bitnode *)malloc(sizeof(bitnode));

t->data = cnt;

t->lchild = null;

t->rchild = null;

createbitree(t->lchild);

createbitree(t->rchild);

}

先序遍歷:

//先序遍歷

void preorder(bitree t)

visit(t);

preorder(t->lchild);

preorder(t->rchild);

}

中序遍歷:

//中序遍歷

void inorder(bitree t)

inorder(t->lchild);

visit(t);

inorder(t->rchild);

}

後序遍歷:

//後序遍歷 

void postorder(bitree t)

postorder(t->lchild);

postorder(t->rchild);

visit(t);

}

完整**:

#include#include#include#define elemtype int

#define maxsize 100

using namespace std;

//構造節點

typedef struct bitnodebitnode,*bitree;

//先序建立二叉樹

void createbitree(bitree &t)

t = (bitnode *)malloc(sizeof(bitnode));

t->data = cnt;

t->lchild = null;

t->rchild = null;

createbitree(t->lchild);

createbitree(t->rchild);

} //訪問節點

void visit(bitree t)

//先序遍歷

void preorder(bitree t)

visit(t);

preorder(t->lchild);

preorder(t->rchild);

} //中序遍歷

void inorder(bitree t)

inorder(t->lchild);

visit(t);

inorder(t->rchild);

} //後序遍歷

void postorder(bitree t)

postorder(t->lchild);

postorder(t->rchild);

visit(t);

}int main()

二叉樹 先序 中序 後序

同學整理的,順便傳上分享下 一,已知先序和中序 求後序 1 include2 include3 include4 using namespace std 5char s1 10 s2 10 ans 10 6 int o 0 7 void tree int n char s1 char s2 char...

求二叉樹的先序遍歷(中序 後序 先序)

problem description 已知一棵二叉樹的中序遍歷和後序遍歷,求二叉樹的先序遍歷 input 輸入資料有多組,第一行是乙個整數t t 1000 代表有t組測試資料。每組包括兩個長度小於50 的字串,第乙個字串表示二叉樹的中序遍歷序列,第二個字串表示二叉樹的後序遍歷序列。output 輸...

中序後序,中序先序求二叉樹

用後序,中序求二叉樹 includeusing namespace std int n int a 105 b 105 mapl,r int build int la,int ra,int lb,int rb 再在中序中找到這個數的位置 if i rb return root queueq void...