广义表存储结构图的绘制 |
您所在的位置:网站首页 › 掷弹筒炮弹结构图怎么画 › 广义表存储结构图的绘制 |
最近看到广义表存储结构图绘制这一节,自以为课本上的例子看懂了,但是一上手画就出错,网上基本搜不到比较详细的解答,就自己试着去思考,总算是会了,先记录下来,免得后面又忘了。 先上结果: 广义表里面一旦包含多个子表就会有很多括号,往往看的人无比痛苦,很容易搞错,于是先把大体层次框出来,分清楚每个括号的对应关系,便于后续过程。 画图形表示时,根据课本,列表用圆形表示,原子用方形(这里懒得画就省略了),画出相应的对应关系。 为什么要给表编号:课本上为了讲解表中元素亦可能是表,给出的例子就是编了号的,因为但是一般习题中直接给一个广义表,不编号。本人在多次尝试中,发现对于我来说只有经过编号这一步我才画的对,不然根本画不出来,所以就加了这一步。编不编号都行。 绘图要点: 广义表有两种节点,表结点和原子节点。表结点 原子节点 我的绘图过程: 从根节点开始,tp域连接本节点的分支,有几个就画几个,最后一个的tp域置为空指针遍历根节点各子节点,若是子表,则重复1,否则直接绘制相应原子节点对于仅含有一个空表为元素的表,将其hp域置为空指针直到所有节点都画完以上描述为了通顺有点刻板,真实操作步骤是:先把根节点对应的那一层画出来,有几个分支就画几个,然后对于所有非叶节点的子表(有大写字母的),在保证他们都各有一层的前提下进行绘制,最后画出原子节点,擦掉标注的指针即可。 最终结果如下: 感觉画这个图最困难的就是在多层括号时确定在图中到底有几层,看了很久才得到的这个办法,不知道是否正确,反正做了四个题都没错,就这样吧,帖子太难写了。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |