按层次遍历二叉树(4)

发布时间:2021-06-08

武汉理工大学课程设计

CreateBinTree(T->lchild); CreateBinTree(T->rchild); } }

3.2.2 遍历二叉树

void LevleOrder(BinTree T){ //从第一层开始,从左到右

BinTree Queue[max],p; //用一维数组表示队列,front和rear分别表示队首和队尾指针 int front,rear; front=rear=0;

if (T) //若树非空 {

Queue[rear++]=T; //根结点入队列

while (front!=rear){ // 队列非空 p=Queue[front++]; // 队首元素出队列,并访问这个结点 printf("%c",p->data);

if (p->lchild!=NULL) Queue[rear++]=p->lchild; //左子树非空,入队列 if (p->rchild!=NULL) Queue[rear++]=p->rchild; } }

}

3.2.3 按要求格式输出已建立的二叉树

void Print_BinTree(BinTree T,int i ) // i表示结点所在层次,初次调用时i=0

{

if(T->rchild) Print_BinTree(T->rchild,i+1); //函数递归 for(j=1;j<=i;j++) printf(" "); //打印i个空格以表示出层次 printf("%c\n",T->data); //打印T元素,换行 if(T->lchild) Print_BiTree(T->lchild,i+1); }

3.3 测试程序

图1:测试二叉树

如图所示二叉树,按先序遍历顺序输入,AB#D##CE#F###。其中”#”代表空格,理论上按层次遍历的结

按层次遍历二叉树(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219