tree_bi.cpp

来自「数据结构中所有算法的实现」· C++ 代码 · 共 35 行

CPP
35
字号
#include "d:\cpp\head.h"
typedef char ElemType;
typedef struct BiTNode{
  ElemType data;
  struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
Status CreateBiTree(BiTree &T){
  char ch;
  scanf("%c",&ch);
  if(ch==' ') T=NULL;
  else{
    if(!(T=(BiTNode*)malloc(sizeof(BiTNode)))) exit(OVERFLOW);
    T->data=ch;
    CreateBiTree(T->lchild);
    CreateBiTree(T->rchild);
  }//if...else
  return OK;
}//CreateBiTree
void Visit(ElemType e){
  printf("%5c",e);
}//Visit
void PreOrderTraverse(BiTree T,void (*Visit)(ElemType e)){
  if(T){
    Visit(T->data);
    PreOrderTraverse(T->lchild,Visit);
    PreOrderTraverse(T->rchild,Visit);
  }
}//PreOrderTraverse

void main(){
  BiTree T;
  CreateBiTree(T);
  PreOrderTraverse(T,Visit);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?