#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define ElemType char
#define OK 0
#define FALSE 1
#define Status int
typedef struct BinTree{
ElemType data;
struct BinTree *right,*left;
}BinTree;
// Create a binary tree with root node tree
Status CreateBinTree(BinTree **tree)
{
ElemType ch;
ch = getchar();
if(ch == '#')
*tree = NULL;
else
{
*tree = (BinTree *)malloc(sizeof(BinTree));
(*tree)->data = ch;
CreateBinTree(&(*tree)->left);
CreateBinTree(&(*tree)->right);
}
return OK;
}
//preorder traversing bintree
void PreOrder(BinTree *tree)
{
if(tree)
{
printf("%c",tree->data);
PreOrder(tree->left);
PreOrder(tree->right);
}
}
void PostOrder(BinTree *tree)
{
if(tree)
{
PreOrder(tree->left);
PreOrder(tree->right);
printf("%c",tree->data);
}
}
ElemType DepthBinTree(BinTree *tree)
{
int h,lh,rh;
if(tree =&
二叉树的操作(C language)
最新推荐文章于 2022-10-18 20:05:55 发布