经过两天长时间的学习, 通过研究队列以及二叉树的相关性质,终于写出了二叉树的层次遍历。
该实现的核心就是使用队列,每次把访问到的节点的左右子树放到队列里面去,出队的时候同样操作!
感谢@原来如此 , @AlexMok ,两位同学,在小组相互学习的过程中收获良多!
下面放出实现源码:
#include <stdlib.h>
#include <stdio.h>
#define MAXSIZE 20
/*********定义两个结构体*********/
typedef struct BTree
{
char data;
struct BTree *lchild;
struct BTree *rchild;
}BTree;
typedef struct CircleQueue
{
int num;
int front;
int rear;
BTree *p;
}CircleQueue;
/**********************************队列部分***********************************/
/**********初始化队列*****************/
CircleQueue * InitQue