[发明专利]一种数据结构可视化调试方法有效
申请号: | 201810691685.7 | 申请日: | 2018-06-28 |
公开(公告)号: | CN108920367B | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 刘添添;汤毅豪;苏庆;黄剑锋;李小妹;吴伟民 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张春水;唐京桥 |
地址: | 510060 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据结构 可视化 调试 方法 | ||
1.一种数据结构可视化调试方法,其特征在于,包括:
S1:生成与原单链结构对应的第一链表可视化界面,实时获取到在所述链表可视化界面进行数据结构调试的调试指令;
S2:根据所述调试指令进行对应的原单链结构的新建结点或删除结点或修改结点数据域或修改结点指针域处理得到新单链结构,并将第一链表可视化界面更新为与新单链结构对应的第二链表可视化界面,具体包括:
根据新建结点指令新建独立的第一新单链结构,并为第一新单链结构分配新布局空间;
将第一链表可视化界面更新为与第一新单链结构对应的第二链表可视化界面;
根据删除结点指令对原单链结构的待删除结点进行判断,若待删除结点为非尾元结点,但为首元结点,则确定待删除结点的原直接后继结点为第一变点,对第一变点进行入度减一的操作;
判断入度减一后的第一变点的第一当前入度值,若第一当前入度值为零,则将原单链结构修改成第三新单链结构,并将第一链表可视化界面更新为与第三新单链结构对应的第二链表可视化界面,其中,第三新单链结构的首元结点为第一变点,第三新单链结构的尾元结点为原单链结构的尾元结点;
若第一当前入度值大于零,且待删除结点为第一变点的原主前驱点,则设置第一变点的任一个次前驱点为新主前驱点,生成第四新单链结构,并将第一链表可视化界面更新为与第四新单链结构对应的第二链表可视化界面;
若待删除结点为非尾元结点,且为非首元结点,则确定待删除结点的原直接后继结点为第二变点,对第二变点进行入度减一的操作;
判断入度减一后的第二变点的第二当前入度值,若第二当前入度值为零,则原单链结构拆分为第五新单链结构和第六新单链结构,并将第一链表可视化界面更新为与第五新单链结构和第六新单链结构对应的第二链表可视化界面,其中,第五新单链结构的首元结点为原单链结构的首元结点,第五新单链结构的结点为原单链结构的首元结点到待删除结点之前的所有结点,第六新单链结构的首元结点为第二变点,第六新单链结构的尾元结点为原单链结构的尾元结点;
若第二当前入度值大于零,且待删除结点为第二变点的原主前驱点,则设置第二变点的任一个次前驱点为新主前驱点,生成第七新单链结构,并将第一链表可视化界面更新为与第七新单链结构对应的第二链表可视化界面;
根据修改结点指针域指令对对应的结点进行判断,若将原单链结构的待修改指针域结点的指针由非空指针修改成空指针,则待修改指针域结点的原直接后继结点为第三变点,对第三变点进行入度减一的操作;
判断入度减一后的第三变点的第三当前入度值,若第三当前入度值为零,则原单链结构拆分为第九新单链结构和第十新单链结构,并将第一链表可视化界面更新为与第九新单链结构和第十新单链结构对应的第二链表可视化界面,其中,第九新单链结构的首元结点为原单链结构的首元结点,第九新单链结构的结点为原单链结构的首元结点到待修改指针域结点之间的所有结点,第十新单链结构的首元结点为第三变点,第十新单链结构的尾元结点为原单链结构的尾元结点;
若第三当前入度值大于零,且待修改指针域结点为第三变点的原主前驱点,则设置第三变点的任一个次前驱点为新主前驱点,生成第十一新单链结构,并将第一链表可视化界面更新为与第十一新单链结构对应的第二链表可视化界面;
若将原单链结构的待修改指针域结点的指针由空指针修改成非空指针,则待修改指针域结点的新直接后继结点为第四变点,对第四变点进行入度加一的操作;
判断入度加一后的第四变点的第四当前入度值,若第四当前入度值为一,则设置待修改指针域结点为第四变点的新主前驱点,生成第十二新单链结构,并将第一链表可视化界面更新为与第十二新单链结构对应的第二链表可视化界面;
若第四当前入度值大于一,则设置待修改指针域结点为第四变点的新次前驱点,生成第十三新单链结构,并将第一链表可视化界面更新为与第十三新单链结构对应的第二链表可视化界面;
若将原单链结构的待修改指针域结点的指针由第一非空指针值修改成第二非空指针值,则待修改指针域结点的原直接后继结点为第五变点和新直接后继结点为第六变点,对第五变点进行入度减一和第六变点进行入度加一的操作;
判断入度减一后的第五变点的第五当前入度值,若第五当前入度值为零,则原单链结构拆分为第十四新单链结构和第十五新单链结构,并将第一链表可视化界面更新为与第十四新单链结构和第十五新单链结构对应的第二链表可视化界面,其中,第十四新单链结构的首元结点为原单链结构的首元结点,待修改指针域结点为第十四新单链结构的尾元结点,第十五新单链结构的首元结点为第五变点,第十五新单链结构的尾元结点为原单链结构的尾元结点;
若第五当前入度值大于零,且待修改指针域结点为第五变点的原主前驱点,则设置第五变点的任一个次前驱点为新主前驱点,生成第十六新单链结构,并将第一链表可视化界面更新为与第十六新单链结构对应的第二链表可视化界面;
判断入度加一后的第六变点的第六当前入度值,若第六当前入度值为一,则设置待修改指针域结点为第六变点的新主前驱点,否则设置待修改指针域结点为第六变点的新次前驱点,生成第十七新单链结构,并将第一链表可视化界面更新为与第十七新单链结构对应的第二链表可视化界面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810691685.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种子应用调试方法、装置及系统
- 下一篇:数据测试的方法、装置及电子设备