先序二叉樹
//先序建立二叉樹
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...