二叉树算法c语言 用C语言编程实现二叉树的中序遍历算法?
用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)
)}
是的,所有递归都可以用循环和堆栈等价重写。
二叉树算法c语言 c语言中遍历是什么意思 后序遍历的非递归算法c语言
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。