实现
template <typename T, typename VST>
void BinNode<T>::travLevel(VST &visit) { // 二叉树层次遍历
Queue<BinNodePosi(T)> Q; // 引入辅助队列
Q.enqueue(this); // 根节点入队
while (!Queue.empty()) { // 队列变空之前,反复迭代
BinNodePosi(T) x = Q.dequeue(); // 取出队首节点,并随即
visit(x -> data); // 访问之
if (HasLChild(*x)) Q.enqueue(x -> lChild); // 左孩子入队
if (HasRChild(*x)) Q.enqueue(x -> rChild); // 右孩子入队
}
}
实例

本文由
Oscaner 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: 2019-05-05 08:36 星期日