我是靠谱客的博主 洁净草莓,最近开发中收集的这篇文章主要介绍第十一周 二叉树层次遍历算法的验证,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

/* 
Copyright (c)2016,烟台大学计算机与控制工程学院 
All rights reserved. 
文件名称:二叉树层次遍历算法的验证.cpp 
作    者:郝环宇
完成日期:2016.11.10
版 本 号:v1.0 
 
问题描述:  运行并重复测试教学内容中涉及的算法。改变测试数据进行重复测试的意义在于, 
           可以从更多角度体会算法,以达到逐渐掌握算法的程度。 
           使用你的测试数据,并展示测试结果,观察运行结果,以此来领会算法。   
输入描述: 若干测试数据。 
程序输出: 对应数据的输出。 

*/ 

二叉树算法库

所需代码如下:

void LevelOrder(BTNode *b)  
{  
    BTNode *p;  
    BTNode *qu[MaxSize];    //定义环形队列,存放节点指针  
    int front,rear; //定义队头和队尾指针  
    front=rear=-1;      //置队列为空队列  
    rear++;  
    qu[rear]=b;     //根节点指针进入队列  
    while (front!=rear) //队列不为空  
    {  
        front=(front+1)%MaxSize;  
        p=qu[front];             //队头出队列  
        printf("%c ",p->data);  //访问节点  
        if (p->lchild!=NULL)   //有左孩子时将其进队  
        {  
            rear=(rear+1)%MaxSize;  
            qu[rear]=p->lchild;  
        }  
        if (p->rchild!=NULL)    //有右孩子时将其进队  
        {  
            rear=(rear+1)%MaxSize;  
            qu[rear]=p->rchild;  
        }  
    }  
}  

int main()  
{  
    BTNode *b;  
    CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))");  
    printf("二叉树b: ");  
    DispBTNode(b);  
    printf("n");  
    printf("层次遍历序列:n");  
    LevelOrder(b);  
    DestroyBTNode(b);  
    return 0;  
}

运行结果:



最后

以上就是洁净草莓为你收集整理的第十一周 二叉树层次遍历算法的验证的全部内容,希望文章能够帮你解决第十一周 二叉树层次遍历算法的验证所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部