当前位置:首页 > 二叉树的基本操作
/*
************************************************ *Name : Bittree all operation *Date : 2014-12-18 *Author : marksman
*Aim : Create a bittree and visit it.
************************************************ */
#include
*Tree structure */
typedef struct {
char date;
struct tree *lchild,*rchild; }tree,*Bit_tree; /*
*Create the bittree */
Bit_tree Create_bit_tree(Bit_tree bittree) {
char ch;
scanf(\ getchar(); if(ch=='$')
bittree = NULL; else {
bittree = (tree *)malloc(sizeof(tree)); bittree->date = ch;
bittree->lchild = Create_bit_tree(bittree->lchild); bittree->rchild = Create_bit_tree(bittree->rchild); }
return bittree; } /*
*preorder the bittree */
int preorder_bit_tree(Bit_tree bittree) {
if(bittree) {
printf(\
preorder_bit_tree(bittree->lchild); preorder_bit_tree(bittree->rchild); }
return 0; } /*
*inorder the bittree */
int inorder_bit_tree(Bit_tree bittree) {
if(bittree!=NULL) {
inorder_bit_tree(bittree->lchild); printf(\
inorder_bit_tree(bittree->rchild); }
return 0; } /*
*beorder the bittree */
int beorder_bit_tree(Bit_tree bittree) {
if(bittree!=NULL) {
beorder_bit_tree(bittree->lchild); beorder_bit_tree(bittree->rchild); printf(\ }
return 0; }
int main() {
Bit_tree bittree;
bittree = (tree *)malloc(sizeof(tree)); bittree = Create_bit_tree(bittree); preorder_bit_tree(bittree); printf(\
inorder_bit_tree(bittree); printf(\
beorder_bit_tree(bittree); printf(\ return 0; }
提供一组测试用例: A B C $ $ D E $ G $ $ F $ $ $
输出结果:
共分享92篇相关文档