2014.11.19

来源:互联网 发布:ubuntu英文怎么读 编辑:程序博客网 时间:2024/05/16 02:03
#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(){            }

0 0
原创粉丝点击