二叉树层次遍历的问题
源代码如下:#include<stdio.h>
#include<stdlib.h>
#define max 100
typedef char ElemType;
typedef struct BiTNode{ ElemType data;
struct BiTNode *lchild,*rchild; } BiTNode,*BinTree;
//建立二叉树
void CreateBinTree(BinTree &T){ //按先序次序输入,构造二叉链表表示的二叉树T
int num;
scanf("%c",&num);//输入函数。
if(num=='#') T=NULL; //输入#时为空
else{
if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))
printf("%c" "结点建立失败!") ;
T->data=num;
CreateBinTree(T->lchild);
CreateBinTree(T->rchild); } }
// 遍历二叉树
void LevleOrder(BinTree T){ //从第一层开始,从左到右
BinTree Queue[max],p; //用一维数组表示队列,front和rear分别表示队首和队尾指针
int front,rear;
front=rear=0;
if (T) //若树非空
{
Queue[rear++]=T; //根结点入队列
while (front!=rear){ // 队列非空
p=Queue[front++]; // 队首元素出队列,并访问这个结点
printf("%c",p->data);
if (p->lchild!=NULL) Queue[rear++]=p->lchild; //左子树非空,入队列
if (p->rchild!=NULL) Queue[rear++]=p->rchild; } }
}
//按要求输出二叉树
int main() {
BinTree T;
printf("\n创建二叉树\n");
CreateBinTree (T);
printf("\n层次遍历二叉树 并输出遍历结果\n"); LevleOrder(T);
return 0; }
//可以运行 输入二叉树中的元素
但是回车之后 二叉树层次遍历的方法没有运行 没有反应
求大佬解答一下呗