202669.cpp

来自「数据结构(清华版)」· C++ 代码 · 共 50 行

CPP
50
字号
#include<iostream.h>
typedef char TElemtype ;
//创建结构体========================================================================================
typedef struct BiTNode
{
	TElemtype data;
	BiTNode *lchild,*rchild,*parent;
} *BiTree;
//先序序列创建二叉数
void CreateBiTree(BiTree &T,char s[],int &i)
{
	i++;
	if(s[i]=='#') T=NULL;
	else
	{
		T=new BiTNode;
		T->data=s[i];
		CreateBiTree(T->lchild,s,i);
		CreateBiTree(T->rchild,s,i);
	}
}
//用于调用的创建二叉树函数
void CreateBiTree(BiTree &T,char s[])
{
	int i=-1;
	CreateBiTree(T,s,i);
}
//创建树状打印函数===========================================================================
void PrintBiTree(BiTree T,int i)//按树状打印输出二叉树的元素,i表示结点所在层次
{
	if(!T) return;
	if(T->rchild) PrintBiTree(T->rchild,i+1);
	for(int j=1;j<=i;j++) cout<<" ";//输出i个空格以表示出层次
	cout<<T->data<<endl; //输出T元素,换行
	if(T->lchild) PrintBiTree(T->lchild,i+1);
}
void PrintBiTree(BiTree T)
{
	int i=0;
    PrintBiTree( T, i);
}
//主函数=======================================================================================
void main()
{ 
	BiTree T;
    TElemtype A[]={'a','b','#','d','#','#','c','e','#','f','#','#','#'};
	CreateBiTree(T,A);
	PrintBiTree(T);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?