#include<stdio.h>
#include<malloc.h>
typedef struct ThrNode
{
int data;
struct ThrNode *lchild;
struct ThrNode *rchild;
struct ThrNode *parent;
}thrnode;
bool CreateThrTree(thrnode* &T,thrnode* p)
{
char ch;
scanf("%c",&ch);
if(ch=='m')
{
T=NULL;
}
else
{
T=(thrnode*)malloc(sizeof(thrnode));
T->data=ch;
T->parent=p;
CreateThrTree(T->lchild,T);
CreateThrTree(T->rchild,T);
}
return true;
}
void PrintTree(thrnode* T)
{
printf("%c",T->data);
}
void PostOrderTraverse(thrnode* T)
{
if(T)
{
PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
PrintTree(T);
}
}
void main()
{
thrnode *head=(thrnode*)malloc(sizeof(thrnode));
head->data=0;
head->parent=NULL;
head->lchild=NULL;
if(CreateThrTree(head->lchild,head)) PostOrderTraverse(head->lchild);
}
分享到:
相关推荐
自己编写的实验二叉树的后序遍历非递归算法 包括以递归中序遍历建立二叉树 前序,中序,后序递归以及非递归实现二叉树的遍历 经vc6.0编译通过 自己实验,不足之处应该很多,望指出
二叉树后序遍历,用C语言写的,大家可以看看!
二叉树的先序中序后序遍历 有递归与非递归两中做法
C语言实现二叉树的前序、中序、后续遍历(递归法),大家可以看看哈。。。
1.输入前序和中序遍历结果,建立二叉树 2.实现二叉树的三种递归遍历算方法 3.实现二叉树的三种非递归遍历算法 4.实现二叉树的旋转90°后的打印,直观树形结构
用C语言实现数据结构中二叉树的前序中序后序遍历 int main()//主函数部分 { BiTree T=NULL; int Layer=0; int LayerT=0; printf("请输入二叉树:\n"); CreatBiTree(&T);printf("你输入的二叉树为:(竖型树状...
二叉树 非递归前中后序遍历汇总 C语言 希望大家给予建议
基于C语言的关于二叉树的先序扩展创建,先序、中序、后序遍历的递归、非递归算法,求树的深度
主要为大家详细介绍了C语言非递归后序遍历二叉树,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
递归后序遍历二叉树: 非递归先序遍历二叉树: 非递归中序遍历二叉树: 非递归后序遍历二叉树: 非递归中序遍历二叉树(算法2): 层次遍历二叉树: 递归计算单分支结点: 递归计算双分支结点: 递归计算...
非递归先、中、后序遍历二叉树(C语言)
数据结构二叉树的遍历,采用C语言实现二叉树的非递归先序、中序、后序遍历算法
基于C语言编写的递归与非递归方法的二叉树先中后序遍历
二叉树后序遍历,用C语言写的,大家可以看看!
运行时从键盘输入先序序列,创建对应二叉树T,然后对T进行非递归中序遍历、递归后序遍历和层序遍历。
用C写的二叉树,先序,中序,后序,递归非递归都有,还用队列进行了按层遍历。
主要是二叉树的全序,中序,后序遍历,包括递归和非递归的代码,这个程序是基于C语言的!
求二叉树上结点的路径 (树的后序遍历) 在采用链式存储结构的二叉树上,以bt指向根结点,p指向作任一给定的结点,求出从根结点到给定结点之间的路径。 不用调试,可直接运行。
先序遍历、中序遍历和后序遍历是二叉树遍历的三种基本方式。 先序遍历(Preorder Traversal):...后序遍历(Postorder Traversal):首先按照后序遍历的方式递归访问左子树,然后递归访问右子树,最后访问根节点。