代码:
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<iostream>
//准备数据
struct BiNode
{
char ch;
BiNode* lchild,*rchild;
};
//递归遍历
void Recusion(BiNode* root)
{
if(root==NULL)
return;
printf("%c",root->ch);//打印结点数据
Recusion(root->lchild);
Recusion(root->rchild);
}
//创建结点
BiNode* CreateBinaryTree()
{
fflush(stdin);//清空输入缓冲区
char ch1;
scanf("%c",&ch1);
BiNode* node;
if(ch1=='#')
{
node=NULL;
}
else
{
node=(BiNode*)malloc(sizeof(BiNode));
node->ch=ch1;
node->lchild=CreateBinaryTree();
node->rchild=CreateBinaryTree();
}
return node;
}
int main()
{
BiNode* root=CreateBinaryTree();
Recusion(root);
return 0;
}
输出结果测试:
a
b
c
d
#
#
p
#
#
#
Q
h
#
#
#
abcdpQh请按任意键继续. . .