我看了书上的代码于是自己写了下,如下:
void leverorder(binarytreebt,queueq){
if(bt){
node*p;
p=bt->root;
inselem(q,p);
while(q->front!=q->rear){
front(q);
delelem(q);
if(p->lchild)
inselem(q,p->lchild);
if(p->rchild)
inselem(q,p->rchild);
}
destroy(q);
}
else
printf("this binarytree is null\n");
}
如图,终端里面的第一行是先序遍历的结果,第二行是层次遍历的结果,层次遍历中不但D没输出,ABC还打印了这么多次,其他函数的功能测试过没问题,
就这里有问题,想问问这里该怎么写才是正确的