1. 程式人生 > >C++二叉樹的構建及求深度,葉子數量,層次遍歷

C++二叉樹的構建及求深度,葉子數量,層次遍歷

include

include

include

include

using namespace std;
struct Tree
{
char info;
Tree *Left;
Tree *Right;
};
int pos=0;
int sum=0;
Tree *Root;
string strTree;
void initString(string s)
{
strTree.assign(s);
pos=0;
}
Tree* CreateBiTree()//通過先序遍歷的結果來構建二叉樹
{
Tree *T;
char ch;
ch=strTree[pos++];
if(ch==’0’)
T=NULL;
else
{
T=new Tree;
T->info=ch;
T->Left=CreateBiTree();
T->Right=CreateBiTree();
}
return T;
}
void LevelOrder(Tree *s)//層次遍歷二叉樹
{
queue