void Level(Bitree T,void(* visit)(elemtype e)){ //visit是一个函数指针,指向一个具体函数。在具体使用时,通过调用visit的函数来调用visit指向的函数,这个函数形参为elemtype e)
BiTree P; //p指针
SqQueue Q; //
InitQueue(*Q); //建立一个空队列Q
Q.base[Q.rear++]=T; //结构体中有QElemType *base,base是指针。Q.base指向动态分配的数组的元素
while(Q.front!=Q.rear) //队头不等于队尾
{
p=Q.base[Q.front++]; //p指向从队头开始循环的数组
visit(p->data); //visit指向这个数组函数
if(p->lchild)
Q.base[Q.rear++]=P->lchild; //如果是左孩子,
if(p->rchild)
Q.base[Q.rear++]=P->rchild;
}
}
设计一个按层序遍历二叉树的算法
于 2022-05-22 23:44:48 首次发布