按层次遍历二叉树(6)

发布时间:2021-06-08

武汉理工大学课程设计

void LevleOrder(BinTree T){ BinTree Queue[max],p; 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; } } }

//按要求输出二叉树

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

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

int main() {

BinTree T;int i=0;

printf("\n创建二叉树\n"); CreateBinTree (T);

printf("\n层次遍历二叉树 并输出遍历结果\n"); LevleOrder(T);

printf("\n按树形打印输出二叉树\n"); Print_BinTree(T, i); return 0; }

6.2 运行结果

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

精彩图片

热门精选

大家正在看

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

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

支付方式:

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

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