遍历二叉树口诀 用C语言编程实现二叉树的中序遍历算法?
浏览量:2360
时间:2021-03-15 21:53:48
作者:admin
用C语言编程实现二叉树的中序遍历算法?
#Include
#Include
struct bitnode*stack[100
]struct bitnode//define struct
{
char data
struct bitnode*lchild,*rchild
}
void later(struct bitnode*&)//preorder create tree
{
char Ch
scanf scanf(%C”,&;Ch)
if(Ch=”)
P=null
else{
P=(struct bitnode*)malloc(sizeof(struct bitnode*)bitnode)
P->data=ch
以后(P->lchild)
以后(P->rchild)
}
void print(struct bitnode*P)//前序遍历(输出二叉树)
{
int i=-1
while(1)
{
while P!=null)
]{
堆栈[i]=P->rchild/*printf(”确定?N“)*/
printf(”%C“,P->data)
P=P->lchild
}
如果(I!=-1)
{
P=stack[i
]i-->
else
return
}
]void main()//main function
]{
]struct bitnode*P,*t
later(P)
print(P)
}
数据结构中二叉树的定义是递归的,所以很自然,也很容易理解。
二叉树的层次遍历不是递归的,而是使用队列。数据结构中二叉树的定义如下(不同于图论中树的定义):1。这是一个空集。2它由根节点及其左右子树组成,左右子树满足二叉树的定义。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。