文章
25
粉丝
364
获赞
10
访问
222.2k
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct Node
{
char data;
struct Node *Lchild,*Rchild;
}BinaryTree;//树结点定义
BinaryTree* BuildTree(char* buff,int* p);//建立树
void MidOrderTraversal(BinaryTree* BT);//中序遍历
void DestroyTree(BinaryTree* BT);//销毁树
BinaryTree* BuildTree(char* buff,int* p)
{
BinaryTree* root=NULL;
if (buff[(*p)]=='#')
{
(*p)++;//遇到空格返回空指针,并将数组指针移动至下一个
}
else if (buff[(*p)]!='\0')
{
root=(BinaryTree *)malloc(sizeof(BinaryTree));
root->data=buff[(*p)];
(*p)++;
root->Lchild=BuildTree(buff,p);//建立左子树
root->Rchild=BuildTree(buff,p);//建立右子树
}
return root;
}
void MidOrderTraversal(BinaryTree* BT)
{
if (BT!=NULL)
{
MidOrderTraversal(BT->Lchild);
printf("%c ",BT->data);
MidOrderTraversal(BT->Rchild);
}
return;
}
void Destroy...
登录后发布评论
暂无评论,来抢沙发