标签:
#include<stdio.h>
#include<stdlib.h>
typedef struct TreeNode//二叉树节点声明
{
int value;
TreeNode* left;
TreeNode* right;
}*PtrNode;
void CreatTree(PtrNode *root)//先序建立一个树
{
int tmp;
scanf("%d",&tmp);
if(tmp==-1)
*root=NULL;
else
{
*root=(PtrNode)malloc(sizeof(TreeNode));
(*root)->value=tmp;
printf("请输入左节点:");
CreatTree(&(*root)->left);
printf("请输入右节点:");
CreatTree(&(*root)->right);
}
}
void PreOrder(PtrNode root)//前序遍历
{
if(root==NULL)
return;
printf("%d ",root->value);
PreOrder(root->left);
PreOrder(root->right);
}
void InOrder(PtrNode root)//中序遍历
{
if(root==NULL)
return;
InOrder(root->left);
printf("%d ",root->value);
InOrder(root->right);
}
void PostOrder(PtrNode root)//后序遍历
{
if(root==NULL)
return;
PostOrder(root->left);
PostOrder(root->right);
printf("%d ",root->value);
}
int main()
{
PtrNode root;
CreatTree(&root);
PreOrder(root);
printf("\n");
return 0;
}标签:
原文地址:http://blog.csdn.net/zyh920521/article/details/46013137