2014.11.19

#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
typedef struct node{//二叉树的二叉链表表示
       TElemType data;
	   struct node * lchild;
	   struct node * rchild;
}BiTNode,*BinTree;
typedef '#' leaf;//应用前序遍历建立二叉树
typedef char TElemType;
void createBinTree(BiTNode * & T){
        TElemType item;
		cin>>item;
		if(item==';')return;
		if(item!='#'){
		       T=mew BiTNode;
			   if(T==NULL){cerr<<"存储分配失败!"<<end1;exit(1);}
			   T->data=item;
			   creatBinTree(T->lchild);
			   creatBinTree(T->rchild);
		}
        else T=NULL;
}
void InOrder(BiTNode *T){//按照中序遍历遍历以T为根的子树
        if(T!=NULL){
		       InOrder(T->lchild);
			   cout<<T->data<<end1;
			   InOrder(Y->rchild);
		}
};
void PreOrder(BiTNode *T){//按照前序遍历遍历以T为根的子树

       if(T!=NULL){
	           cout<<T->data<<end1;
		       PreOrder(T->lchild);
			   PreOrder(Y->rchild);
		}
};
void PostOrder(BiTNode *T){//按照后序遍历遍历以T为根的子树
       if(T!=NULL){
		       PostOrder(T->lchild);
			   PostOrder(Y->rchild);
               cout<<T->data<<end1;
		}  
};
void printBinTree(BiTNode *T){//以广义形式输出二叉树
       if(T!=NULL){
	          cout<<T->data;
			  if(T->lchild !=NULL||T->rchild !=NULL){
			          cout<<'(';
					  printBinTree(T->lchild);
					  cout<<',';
					  if(T->rchild!=NULL)
					           printBinTree(T->rchild);
					  coun<<')';
			  }
	   }
};
int Height(BiNTode *T){//求二叉树高度
       if(T==NULL)return 0;
	   else{
	          int i=Height(T->lchild);
			  int j=Height(T->rchild);
			  if(i>j)return i+1;
			  else return j+i;
	   }
};
voidclearBinTree(BiTNode *T){//销毁二叉树
      if(T!=NULL){
	         clearBinTree(T->lchild);
             clearBinTree(T->rchild);
			 delete T;
			 T=NULL;
	  }
};

void main(){
            
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值