如果按层次遍历通用树结构中的每一个数据元素?
当前的事实
-树是非线性的数据结构,树的结点没有固定的编号方式
新的需求
-为通用树机构提供新的方法,快速遍历每一个结点
设计思路(游标)
-在树中定义一个游标(GTreeNode<T>*)
-遍历开始前将游标指向根节点(root())
-获取游标指向的数据元素
-通过结点中的child成员移动游标
设计思路(游标)
提供一组遍历相关的函数,按层次访问树中的数据元素
函数 | 功能说明 |
begin() | 初始化,准备进行遍历访问 |
next() | 移动游标,指向下一个结点 |
current() | 获取游标所指向的数据元素 |
end() | 判断游标是否到达尾部 |
层次遍历算法
-原料:class LinkQueue<T>;
-游标:LinkQueue<T>::front();
-思想:
·begin() ->将根结点压入队列中
·current() ->访问队头元素指向的数据元素
·next() ->