例题1




答案解析
(1) EnQueue( &tempQ, root )
&tempQ 的含义
-
tempQ:这是一个队列变量
-
&:在 C 语言中表示“取地址”,即获取变量的内存地址
-
&tempQ:整体意思是“tempQ 队列的地址”
EnQueue 函数需要接收一个队列指针作为参数,而不是队列本身。使用 &tempQ 就是把 tempQ 这个队列的地址传递给函数。
将树的根节点 root 加入到队列 tempQ 中
开始遍历的第一步骤
(2) brotherptr = brotherptr->nextbrother
-
将兄弟指针移动到下一个兄弟节点
-
用于遍历当前节点的所有兄弟节点
(3) !lsEmpty( tempQ )
-
检查队列
tempQ是否为空 -
这是层次遍历的循环条件
(4) DeQueue( &tempQ, &ptr )
-
从队列中取出一个节点,保存在
ptr中 -
处理当前层次的节点
(5) !ptr->firstchild
-
访问当前节点
ptr的第一个孩子节点
(6) EnQueue( &tempQ, ptr->firstchild )
-
将当前节点的第一个孩子加入队列
-
准备遍历下一层节点
(7) brotherptr = brotherptr->nextbrother
-
再次移动兄弟指针,继续遍历兄弟节点

被折叠的 条评论
为什么被折叠?



