数据结构

位置:IT落伍者 >> 数据结构 >> 浏览文章

数据结构 6.8 中序线索链表遍历算法演示


发布日期:2019年03月18日
 
数据结构 6.8 中序线索链表遍历算法演示

希赛教育计算机专业考研专业课辅导招生

希赛教育计算机专业考研专业课辅导视频

希赛教育计算机考研专业课在线测试系统

void InOrderTraverse_Thr(BiThrTree Theadvoid (*Visit)(ElemType e))

{

// Thead 指向中序线索链表中的头结点头结点的左指针 Lchild

// 指向二叉树的根结点头结点的右线索 Rchild 指向中序遍历

// 访问的最后一个结点本算法对此二叉树进行中序遍历

// 树中每个数据元素调用函数 Visit 进行访问操作

p = Thead>Lchild; // p 指向二叉树的根结点

while (p!= Thead) {// 空树或遍历结束时p==Thead

while (p>LTag==Link) p = p>Lchild;

Visit(p>data); // 访问其左子树为空的结点

while (p>RTag==Thread && p>Rchild!=Thread) {

p = p>rchild; Visit(p>data);// 访问右线索所指后继结点

} // while

p = p>Rchild; // p 进至其右子树根

} // while

} // InOrderTraverse_Thr

算法的执行过程如动画所示

上一篇:数据结构 6.7 建表达式的二叉树算法演示

下一篇:数据结构 4.1 数制转换