⼆叉树的前序中序后序遍历图解前序遍历图解:
父亲节英语
run on
中序遍历图解:
后序遍历图解:
后序遍历结果:DBCA
前序中序后序遍历代码C++版
⽰例⼆叉树
⽰例代码:
#include<iostream>
using namespace std;
//使⽤c++模板
template <typename T> //类型不同时使⽤
struct BNode{yale university
T Data;
pik
BNode<T> *lchild;
BNode<T> *rchild;
//相当于类的构造函数Data(x) <=> Data = x
BNode(T x):Data(x),lchild(NULL),rchild(NULL){} };
template <typename T>
void PreOrderTraver(BNode<T> *root){
if(root){ //如果结点不为空
//先打印结点值
cout<<root->Data;
//再递归左⼦树
PreOrderTraver(root->lchild);
//然后递归右⼦树
PreOrderTraver(root->rchild);
}
}
template <typename T>
void InOrderTraver(BNode<T> *root){
if(root){
hey stephen
InOrderTraver(root->lchild);
cout<<root->Data;
InOrderTraver(root->rchild);
}
}
苏州软件测试培训template <typename T>avc是什么格式
void PostOrderTraver(BNode<T> *root){
增长幅度
if(root){
PostOrderTraver(root->lchild);
PostOrderTraver(root->rchild);
cout<<root->Data;
}
}
void creat_BTree(){
/
/建⽴⼀颗⼆叉树
BNode<char> *node1 = new BNode<char>('-');
blood and bone
refererBNode<char> *node2 = new BNode<char>('+');
BNode<char> *node3 = new BNode<char>('/');
BNode<char> *node4 = new BNode<char>('a');