以下内容经过实际上机测试,如有不对,请指正,谢谢
#include <stdio.h>
#include <stdlib.h>
#define bool int
#define true 1
#define false 0
typedef struct BinaryTreeNode{
int value;
struct BinaryTreeNode *pLeft;
struct BinaryTreeNode *pRight;
}BinaryTreeNode;
BinaryTreeNode *createTree()//先序序列建立二叉树,输入-1代表当前节点为空
{
BinaryTreeNode *treeRoot;
int num;
printf("请输入当前节点的值:\n");
scanf("%d",&num);
if(num == -1)
treeRoot = NULL;
else
{
treeRoot = (BinaryTreeNode *)malloc(sizeof(BinaryTreeNode));
treeRoot->value = num;
printf("目前为左子树节点");
treeRoot->pLeft = createTree();
printf("目前为右子树节点");
treeRoot->pRight = createTree();
}
return treeRoot;
}
void xxBL(BinaryTreeNode *treeRoot) //先序遍历二叉树
{
if(treeRoot)
{
printf("%d ",treeRoot->value);
xxBL(