📄 tree1_complete.cpp
字号:
#include "Tree1.h" //二叉树类
#include <string.h>
TreeNode1* createComplete(char *str,int i) //建立一棵子树
{ //以编号为i的元素作为子树的根结点
TreeNode1 *p=NULL;
static int len=strlen(str);
if(i-1<len)
{
cout<<" str["<<i-1<<"] = "<<str[i-1]<<"\n";
p=new TreeNode1(str[i-1]); //建立结点
p->left=createComplete(str,2*i); //建立p的左子树
p->right=createComplete(str,2*i+1); //建立p的右子树
}
return p;
}
void main()
{
char *str="ABCDEFGH";
cout<<"The Tree: "<<str<<"\n";
Tree1 t1; //构造空树
t1.root=createComplete(str,1);
t1.preorder();
t1.inorder();
t1.postorder();
}
/*
程序运行结果如下:
The Tree: ABCDEFGH
str[0] = A
str[1] = B
str[3] = D
str[7] = H
str[4] = E
str[2] = C
str[5] = F
str[6] = G
先序遍历二叉树: A B D H E C F G
中序遍历二叉树: H D B E A F C G
后序遍历二叉树: H D E B F G C A
撤销二叉树: H D E B F G C A
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -