C++模板实现二叉查找树(四 广度优先遍历)
2017-04-01 09:52
543 查看
二叉树的广度优先便利遵循从上之下,从左至右的原则.实现广度优先便利,利用了队列
代码如下:
(LinkQueue<BinNode<T>*, capacity> *queueHelper;)的先进先出的性质.先将节点入队列,之后取出,访问.访问完后,将其左右子节点入队列.依次循环即可.
代码如下:
template <class T, unsigned int capacity> bool BinSearchTree<T, capacity>::scopeOrder() { bool result = false; if (isEmpty()) { result = false; } else { queueHelper = new LinkQueue<BinNode<T>*, capacity>(); queueHelper->enQueue(root); while (!(queueHelper->isEmpty())) { BinNode<T>* temp = NULL; queueHelper->deQueue(temp); cout << "ScopeOrder: The value is :" << temp->data << endl; if (NULL != temp->left) { queueHelper->enQueue(temp->left); } if (NULL != temp->right) { queueHelper->enQueue(temp->right); } } if (NULL != queueHelper) { delete queueHelper; queueHelper = NULL; } result = true; } return result; }
相关文章推荐
- C++模板实现二叉查找树(四 广度优先遍历)
- C++模板实现二叉查找树(四 广度优先遍历)
- C++模板实现二叉查找树(四 广度优先遍历)
- 图的遍历之BFS广度优先遍历C++实现
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- C++实现图的广度优先遍历与深度优先遍历
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- C++实现图的邻接矩阵存储和广度、深度优先遍历实例分析
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- 图的深度优先和广度优先遍历(图以邻接表表示,由C++面向对象实现)
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- 二叉树的深度优先遍历与广度优先遍历 [C++实现]
- C/C++代码实现图(有向图)的深度,广度优先遍历
- C++实现图的邻接表存储和广度优先遍历实例分析
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- C++实现图的邻接矩阵的创建以及其深度优先遍历和广度优先遍历