发表时间:2022-03-25来源:网络
1 引言
在最近几天,一直再用c语言来进行数据结构的实训,实训的内容是用一个多叉树来实现家谱图.在之前大一学习数据结构和这学期的数据结构课上的时候,只是单纯地学了学它的实现原理和算法,没有注重具体的代码实现.这对于学习计算机这类课程来说,是一种错误的方式.因为计算机一类的课程,本来就是很注重实践的.没有自己亲自动脑思考过写过,你说你学过数据结构,完全不现实.而且让你自己也觉得不踏实.
2 过程
在实训的过程中,因为学习过c++和java,渐渐的抛弃之前用c语言那样完全按照流程式的方式来完成方法功能,想想确实是不明智的.在高耦合状态下的代码,要是修改起来,可能会将整个方法重写,浪费时间.如果按照面向对象一类语言的方式来考虑写法,你就完全不会想刚学完c语言的人写的代码一样,按照功能来划分,按需返回.
另一方面,在实训过程中,结构体的定义方面也有不少考虑的地方,对于这次的实训,我是将配偶节点和孩子节点放到了一块:
typedef struct TreeNode
{
int Num; // 孩子数目
char Name[20];// 名字
char Sex; // 性别 男M女F
struct TreeNode * NextNode[20]; //(孩子节点)
struct TreeNode * Parent; // 祖先节点
}TreeNode;
其实刚开始没有这么想,因为按照一般的思路,肯定是将配偶节点类似于父母节点一样单独拿出来.但是这样的话,会在结构体又多出一个指针.不烦如此,在表示当前节点和配偶节点的孩子节点的时候,两个节点你都要进行关联,这杨做会让你有种很错乱的感觉.如果像这样将配偶节点放到孩子节点里面,作为孩子节点集合的第一个.在表示于孩子节点之间的关系的时候,尤其是通过配偶节点来查询和显示孩子节点的时候,我们可以通过查询的配偶节点的配偶(这样说可能有点绕口,见下图).这样做之前要注意的是,在树中配偶节点的创建时,别忘了将配偶节点也反向绑定在当前节点上,不然遍历和查询的时候会出错.
举例:通过儿媳一节点查询孙子一节点就要通过儿子一节点来.

3 心得总结
其实,在用代码写一个具体的东西的时候,不能是像当初学习时的那种心态–只是实现当前功能明白原理就可以的,必须自己新身经历一遍,具体细节思考,亲自动手写写.可以先从常规思路出发,期间不断寻求更加快捷高效的方式来改进.还有不管用的是面向对象的语言还是面向过程的语言,在考虑问题的大方向上是一致的,要根据具体语言的特点来对应进行变换.将代码的功能尽量细分,按照功能来区分.类比于面向借口的思想.在完成整个系统的框架之后,按功能来一步步实现.以上就是在实训过程中的体会.
计支宝app下载v3.1.29 安卓版
142.27MB |商务办公
小小优酷最新版下载v5.4.6 安卓官方版
68.11MB |影音播放
艺图语app下载v3.3.4 安卓免费版
34.33MB |系统工具
爱鸽者手机版下载v3.2.9 安卓版
243.57MB |商务办公
一品威客网接单app(一品众包)下载v2.7.1 安卓最新版
55.01MB |商务办公
诸葛找房网官方版下载v4.8.1.1 安卓最新版
66.6MB |生活服务
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
葫芦侠三楼最新破解版下载v4.4.0.6 安卓版
其它手游葫芦侠7楼破解版免费下载v4.4.0.6安卓最新版
其它手游葫芦侠八楼免费版下载v4.4.0.6安卓版
其它手游葫芦侠3楼破解版免费下载v4.4.0.6安卓手机版
其它手游像素漫斗抱歉,“八神庵”是特指游戏角色的专有名词,不存在符合要求的常用同义词近义词。下载v1.00安卓版
其它手游葫芦侠4楼破解版游戏修改器下载v4.4.0.6安卓免费版
其它手游末日餐厅安卓版下载v1.35安卓版
其它手游葫芦侠十楼免费破解版下载v4.4.0.6安卓版
其它手游葫芦侠8楼最新破解版下载v4.4.0.6安卓版
其它手游