线性表操作实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
忻州师范学院计算机科学与技术系
实验报告
(第六组)
组长:梁启超
组员:晋丹丹张艳华
马军刘雪梅
孙钰林刘涛
分块调试:把算法分拆成几个功能模块,按C程序结构标准分模块调试;
3)错误跟踪有两种方法:错误信息排查法、执行路线跟踪法。
错误信息排查法:根据错误信息进行分类排查,要求分析者对C的错误代码要有足够的了解和认识,有经验的程序员多用此法。
执行路线跟踪法:变量分析法(跟踪变量的值)、插入标签法(插入输出标签),这种方法适合初学者。
4)调试分析不宜面面俱到,具体写出关键问题就行。
分析如下:
主函数main()首先调用显示操作菜单函数scan(),再根据用户输入的数字选项分别调用以下函数:
(1)createlist_l头插法构造单链表;
(2)createlist_l2尾插法构造单链表;两种二选一;
(2)listinsert_l向单链表中插入元素;
(3)listdelete_l删除单链表中的元素;
(4)printlist_l遍历单链表;
(5)getelem_l按位序查找单链表;
(6)locateElem_l按值查找单链表;
由上述结构可知,采用分功能模块调试的方法较合理,即主要功能按以下顺序实现:添加——查找——删除——遍历。
5.使用说明与测试结果
程序名为TXL.exe,运行环境为DOS。程序执行后显示(下图为参考截图例子。)
第一次操作需选择1或者2,并且只能选择一种。程序执行显示
我们选择的的是头插法构造单链表,输入1后显示要输入几个数1我们写5个请输入要插入的数据:我们插入15 25 35 45 55
遍历单链表
删除表中第2个元素
在第3个元素中插入68
按位序查找单链表;查找第4个元素
五、实验总结(调试和运行程序过程中产生的问题及采取的措施;对算法的程序的讨论、分析,改进设想以及其它经验教训;对实验方式、组织、设备、题目的意见和建议等)
附源程序清单:#include
#include
typedef struct lnode{
int data;
struct lnode *next;
}lnode,*linklist;
linklist createlist_l(int n)
{
int i;
linklist l,p;
l=(linklist)malloc(sizeof(lnode));
l->next=NULL;
printf("please input the data of :");
for(i=n;i>0;--i)
{
p=(linklist)malloc(sizeof(lnode));
scanf("%d",&p->data);
p->next=l->next;l->next=p;
}
return l;
}
linklist createlist_l2(int n)
{
int i;
linklist l,p,r;
l=(linklist)malloc(sizeof(lnode));
l->next=NULL;r=l;
printf("please input the data of:");
for(i=1;i<=n;i++)