二叉树的创建与遍历
Posted wjchen99
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的创建与遍历相关的知识,希望对你有一定的参考价值。
简介
代码
二叉树存储结构
typedef struct node
{
char data;//数据域
struct node* lchild;//左孩子指针域
struct node* rchild;//右孩子指针域
}BTNode;
创建二叉树
BTNode* creatbintree()//前序创建二叉树
{
BTNode* p;
char c;
cin >> c;
if (c == '0') p = NULL;//0表示空节点
else
{
p = new BTNode;
p->data = c;
p->lchild = creatbintree();
p->rchild = creatbintree();
}
return p;
}
遍历二叉树
1.先序遍历
void PreOrder(BTNode* p)//先序遍历
{
if (p)
{
cout << p->data << " ";
PreOrder(p->lchild);
PreOrder(p->rchild);
}
}
2.中序遍历
void InOrder(BTNode* p)//中序遍历
{
if (p)
{
InOrder(p->lchild);
cout << p->data << " ";
InOrder(p->rchild);
}
}
3.后序遍历
void PostOrder(BTNode* p)//后序遍历
{
if (p)
{
PostOrder(p->lchild);
PostOrder(p->rchild);
cout << p->data << " ";
}
}
运行结果
以上是关于二叉树的创建与遍历的主要内容,如果未能解决你的问题,请参考以下文章
二叉树有关习题整理543二叉树的直径 606根据二叉树创建字符串 KY11二叉树遍历 - 牛客105从前序遍历与中序遍历构造二叉树