#include <stdio.h>
#include <malloc.h>
#include "Sort.h"
typedef char Item;
typedef struct node
{
node *lchild;
node *rchild;
Item data;
}BiTNode;
//创建一个节点
BiTNode *MakeNode(Item item,BiTNode* lchild,BiTNode* rchild);
//生成树
BiTNode *MakeBitTree();
//先序遍历,中序遍历,后序遍历
void PreOrderTraverse(BiTNode* root);
void PreOrderTraverse_(BiTNode* root);
void InOrderTraverse(BiTNode* root);
void InOrderTraverse_(BiTNode* root);
void PostOrderTraverse(BiTNode* root);
void PostOrderTraverse_(BiTNode* root);
//析构一棵树
void Destroy(BiTNode* root);
int main()
{
BiTNode* root=MakeBitTree();
//先序遍历
printf_s("先序遍历结果如下:");
PreOrderTraverse(root);
printf_s("\n");
printf_s("中序遍历结果如下:");
InOrderTraverse(root);
printf_s("\n");
printf_s("后序遍历结果如下:");
PostOrderTraverse(root);
printf_s("\n");
printf_s("非递归的三种遍历结果如下\n");
PreOrderTraverse_(root);
printf_s("\n");
InOrderTraverse
二叉树的三种遍历方式(递归和非递归的实现方法)
最新推荐文章于 2024-08-16 20:34:10 发布