//按照先序遍历的方法建立一颗二叉树
include<iostream>
#include<iomanip>
using namespace std;
#define OK 1
#define ERROR 0
typedef char TElemType;
typedef int Status;
typedef struct BiTNode {
TElemType data;
struct BiTNode *lchild, *rchild, *parent;
}BiTNode, *BiTree;
Status PreOrderTree(BiTree T);
Status CreateBiTree(BiTree &T);//按先序次序输入二叉树中节点的值(一个字符),空格字符表示空数
Status PreOrderTraverse(BiTree T, Status(*PrintElement)(TElemType));//先序遍历
Status InOrderTraverse(BiTree T, Status(*PrintElement)(TElemType));//中序遍历
Status PostOrderTraverse(BiTree T, Status(*PrintElement)(TElemType));//后续遍历
Status PrintElement(TElemType e);
Status CreateBiTree(BiTree &T) {
char ch = 0;
ch = getchar();
if (ch == '*')//*号代表节点为空
T = NULL;
else {
if (!(T = (BiTree)malloc(sizeof(BiTNode))))
exit(0);
else {
T->data = ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
return OK;
}
Status InOrderTraverse
二叉树的递归遍历
最新推荐文章于 2022-09-02 16:20:13 发布
本文介绍了如何使用C++实现二叉树的先序、中序和后序递归遍历。通过创建二叉树节点,并定义递归函数进行遍历,展示每个节点的数据。代码示例包括先序、中序和后序遍历的函数实现及主函数调用。
摘要由CSDN通过智能技术生成