树的遍历
//二叉树的创建,递归遍历,非递归遍历,拷贝,深度 #include<iostream> #include<stack> using namespace std ; //二叉树的结构 typedef struct BiTNode { char data ; //数据域 struct BiTNode *lchild = nullptr ; //指针必须初始化,c11标准 struct BiTNode *rchild = nullptr ; //左右孩子 } BiTNode,*BiTree ; //二叉树的结构 //二叉树的创建 void CreateBiTree ( BiTree & T ) //先序输入 { char ch ; cin >> ch ; if ( ch == '#' ) T = NULL ; else { T = new BiTNode ; //分配空间 T- > data = ch ; //根节点赋值 CreateBiTree ( T- > lchild ) ; //建立左子树 CreateBiTree ( T- > rchild ) ; //建立右子树 } } //二叉树的创建 //先序遍历 void PreTraverse ( BiTree T ) { if ( T ) { cout << T- > data ; PreTraverse ( T- >