第11周项目1 -二叉树算法验证(1)层次遍历算法验证
来源:互联网 发布:羊绒围巾 知乎 编辑:程序博客网 时间:2024/04/26 14:16
问题及代码:
/* * Copyright (c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:1.cpp * 作 者:王修文 * 完成日期:2016年11月9日 * 版 本 号:v1.0 *问题描述:实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 *输入描述:无 *程序输出:测试数据 */
头文件和源文件详见二叉树算法库
main函数:
#include <stdio.h> #include "btree.h" 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; }运行结果:
0 0
- 第11周项目1 -二叉树算法验证(1)层次遍历算法验证
- 【第11周 项目1 - 二叉树算法验证(1)层次遍历算法的验证】
- 【第11周 项目1 - 二叉树算法验证(1)层次遍历算法的验证】
- 第11周 项目1 - 二叉树算法验证—层次遍历算法的验证
- 第11周上机实践项目1—二叉树算法验证(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1 验证算法(1)层次遍历算法的验证
- 第11周 项目1-验证算法(1)层次遍历算法的验证
- 第11周 项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1 验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- c++ 设计模式之桥接模式(Bridge)
- window下ssh客户端连接linux服务器:
- POJ Mobile phones(1195)(二维树状数组)
- 一元多项式的建立及加减
- Horner scheme问题
- 第11周项目1 -二叉树算法验证(1)层次遍历算法验证
- RHEL6解决无法使用YUM源问题
- js获取当前时间和一星期前的时间
- 配置文件(.properties)的使用
- 欢迎使用CSDN-markdown编辑器
- busybox+交叉编译器源码制作根文件系统
- hadoop集群搭建
- 异步复位、同步复位和异步复位同步释放的比较
- 为人处世的建议