这里以pta的二叉树的遍历操作为基准梳理
void LevelorderTraversal( BinTree BT ) { if(Bt==NULL)//判断是否为空 { return; } BinTree q[100];//创建一个指针队列 BinTree node=NULL;//创建一个临时存放二叉树节点的指针 int front=0;//头 int rear=0;//尾 q[rear++]=BT;//根节点入队 while(front<rear)//队列不空即循环 { node=q[front++];//出队 printf(" %c",node>data); if(node->Left!=NULL) { q[rear++]=node->Left;//左孩子入队 } if(node>Right!=NULL) { q[rear++]=node->Right;//右孩子入队 } } }
可能还有点缺陷,数组的大小不好控制,要是采用链式队列稍微复杂些,操作多一些。
二叉树的层序遍历(pta)
于 2023-03-20 11:15:24 首次发布