博客
关于我
中序线索二叉树的遍历
阅读量:640 次
发布时间:2019-03-15

本文共 946 字,大约阅读时间需要 3 分钟。

C语言程序中的线性链表树结构型定义 在编程实践中,线性链表树(Thread Tree)是一种常用的数据结构,用于实现树形的数据存储与操作。本文将详细阐述ThreadNode数据结构的定义及其相关函数的实现。
ThreadNode数据结构定义 ThreadNode是一个包含多个成员的C语言结构体,定义如下: struct ThreadNode { int data; //数据成员 struct ThreadNode *lc; //左子树指针 struct ThreadNode *rc; //右子树指针 int lt; //左子树存在的标志位(1表示存在,0表示不存在) int rt; //右子树存在的标志位 }; ThreadNode *Nextnode(ThreadNode *p); //函数指宣,而p是当前节点 函数实现:Nextnode Nextnode函数用于获取树中节点的后继线索,实现如下: ThreadNode *Nextnode(ThreadNode *p) { if (p->rc == 0) { return Firstnode(p->lc); //返回左子树的第一个节点 } return p->rc; //直接返回右子树指针 } 函数实现:Firstnode Firstnode函数用于查找左子树的第一个节点,实现如下: ThreadNode *Firstnode(ThreadNode *p) { while (p->lt == 0) { p = p->lc; } return p; } 按序遍历函数Inorder Inorder函数用于按顺序遍历线性链表树,实现如下: void Inorder(ThreadNode *T) { for (ThreadNode *node = Firstnode(T); node != NULL; node = Nextnode(node)) { visit(node); } }

转载地址:http://toglz.baihongyu.com/

你可能感兴趣的文章
ValueError: Unexpected end of file.
查看>>
六、登录(二)
查看>>
初始微服务---Springcloud发展【第一期】
查看>>
RAFT 拜占庭将军 共识算法
查看>>
UE4 错误列表 error码(只记录我遇到的情况,持续添加,未完成)
查看>>
could not initialize proxy - no Session (SSH)
查看>>
cmd编译.java文件 : java:720: 错误: 编码GBK的不可映射字符 Why ? ? ? ?
查看>>
【Jquery】获取当前窗口的宽度值/高度值
查看>>
Android 架构组件 – 让天下没有难做的 App
查看>>
启动MongoDB出现1053错误
查看>>
Flask操作SQLAlchemy
查看>>
网络对抗技术-Exp2-后门原理与实践 20181314
查看>>
能解决数据可视化大屏需求的3款可视化工具
查看>>
欢迎来到小迪博客
查看>>
【Altium Designer21】工作栏中文解析
查看>>
[87]用secureCRT连接虚拟机中的Ubuntu系统,出现“远程主机拒绝连接”错误
查看>>
Shell脚本防DNS攻击检测并删除肉机IP
查看>>
如何在VSCode中定制JSON的IntelliSense
查看>>
椭圆曲线的定义
查看>>
多代理区块链框架客户端的操作
查看>>