二叉树遍历程序

#include <stdio.h>

#include <stdlib.h>

#define MAX 100

#define NULL 0

typedef char TElemType;

typedef int Status;

typedef struct BiTNode{

TElemType data;

struct BiTNode *lchild,*rchild;

} BiTNode,*BiTree;

//扩充后的先序建立二叉树

Status CreatBiTree(BiTree *T)

{

char ch;

ch=getchar();

if(ch=='#')

(*T)=NULL;//#表示空节点

else

{

(*T)=(BiTree)malloc(sizeof(BiTNode));

(*T)->data =ch;

CreatBiTree(&(*T)->lchild );

CreatBiTree(&(*T)->rchild );

}

return 1;

}

//先序递归遍历二叉树

void preorderun(BiTNode *b) //NLR 先序遍历

{

if(b!=NULL)

{

printf(" %c",b->data); //访问结点

preorderun(b->lchild); //先序遍历左子树

preorderun(b->rchild); //先序遍历右子树

}

}

//中序递归遍历二叉树

void inorderun(BiTNode *b) //LNR 中序遍历

{

if(b!=NULL)

{

inorderun(b->lchild); //中序遍历左子树

printf(" %c",b->data); //访问结点

inorderun(b->rchild); //中序遍历右子树

你可能喜欢

  • 二叉树创建
  • 非递归后序遍历二叉树
  • 二叉树遍历算法
  • 数据结构二叉树实验报告

二叉树遍历程序相关文档

最新文档

返回顶部