十一周 项目一 二叉树算法验证(1)
2015-12-18 08:39
232 查看
/* *Copyright (c)2015, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:Graph.cpp *作 者:苏凯祺 *完成日期:2014年12月18号 *版 本 号:v1.0 *问题描述:(1)层次遍历算法的验证 *btreee.h见算法库 */ #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; }
运行结果:
相关文章推荐
- 第16周外部排序之【项目2】败者树归并模拟
- 第十六周项目1-验证算法(2)希尔排序
- 2015-12-18 第十六周 项目4 - 英文单词的基数排序
- 第4周—项目5 猴子选大王
- Tomcat+JSP(servlet)
- 如何使用virtualbox+devstack搭建neutron网络模式的openstack
- 如何使用virtualbox+devstack搭建neutron网络模式的openstack
- 第十六周-英文单词的基数排序
- 第十四周-二叉排序树的查找
- 第十六周项目1-验证算法(4)快速排序
- 验证算法(8)基数排序
- 第15周项目2-用哈希法组织关键字
- 第十六周 项目三 归并排序算法的改进
- 第9周 项目4—广义表算法库及应用 .
- 支持多层嵌套RadioButton的RadioGroup
- Java多线程总结之由synchronized说开去(转)
- 第十二周项目4 二叉树排序树中的查找路径
- 验证算法(7)归并排序
- 第十三周 项目4 二叉排序树中的查找路径
- 学期总结