NOTE : 完整代码(包括队列的实现)会放到文章最后,二叉树的建立过程以及其余三种二叉树的递归非递归形式的遍历,请移步数据结构(二叉树篇)------实现递归与非递归方法的二叉树先序、中序、后序遍历
层次遍历即对树的每一层从左至右依次访问,该层访问完之后,对他们的孩子做相同操作,这就运用到队FIFO(First In First Out)的特性。
对一个结点访问结束后,将他的左右孩子(若存在)依次入队。
#include<stdio.h>
#include"Queue.c"
BTNode* CreatBTree(int arr[], int* i);//前序遍历的方式生成二叉树
void LevelOrder(BTNode* t);//层次遍历
int main() {
int i =0;
int arr[] = {
1,2,3,-1,-1,4,-1,-1,5,6,-1,-1,7,-1,-1};
BTNode* t =<