利用队列对二叉树进行层次遍历,需要实现:1队列数据结构,并实现出队,入队,判断队列是否为空三个函数操作
2二叉树数据结构,并实现创建二叉树,层次遍历二叉树两个函数操作
层次遍历的算法思想及代码如下图所示
/*利用队列对二叉树进行层次遍历*/
#include<iostream>using namespace std;
#define maxsize 100/*定义队列的存储容量*/
typedef struct Tnode *BTree;/*定义间接访问二叉树节点的指针*/
/*定义二叉树结点数据结构*/
struct Tnode{
char Data;
BTree leftchild;
BTree rightchild;
};
typedef BTree ElementType;/*BTree和ElementType等价*/
typedef struct Qnode *Queue;/*定义间接访问队列的指针*/
/*定义队列数据结构*/
struct Qnode{
ElementType Data[maxsize];