计算机软件基础实验报告2.doc
《计算机软件基础实验报告2.doc》由会员分享,可在线阅读,更多相关《计算机软件基础实验报告2.doc(12页珍藏版)》请在沃文网上搜索。
1、北京联合大学实验报告课程(项目)名称: 计算机软件技术基础(实验2) 学 院: 自动化学院 专 业:电气工程与自动化 班 级: 0910030101 学 号: 2009100301126 姓 名: 林驷淇 成 绩: 2011年4月24日一、任务与目的1实验目的(1)掌握链表的概念。(2)熟练掌握线性表的链式存储结构。(3)熟练掌握线性表在链式存储结构上的运算。2实验内容(1)编写算法,根据用户输入的整数创建一个带头结点的单链表,-1作为输入数据的结束符。测试要求:建立空链表、非空链表的情况下测试程序运行情况。 (2)编写算法,在带有头结点的单链表中查找序号为i的结点和值为x的结点并输出。测试要
2、求:在空链表、i与x在链表头、i与x在链表尾、i与x在链表中间、i与x在链表中不存在的情况下测试程序运行情况。 (3)己知单链表中的元素非递减有序排列,编写算法删除单链表中值相同的多余的元素。测试要求:在空链表、有1组相同元素、有2组连续相同元素、有2组以上不连续相同元素的情况下测试程序运行情况。(4)已知单链表中的数据元素递增有序,编写算法,给定的两个数据Min和Max,删除表中值在min与max之间的结点。测试要求:在空链表、max小于链表第1个元素值、min大于链表最后1个元素值、min与max在链表中间的情况下测试程序运行情况。二、原理(条件)Visual C+6.0 三、内容与步骤(
3、1)编写算法,根据用户输入的整数创建一个带头结点的单链表,-1作为输入数据的结束符。测试要求:建立空链表、非空链表的情况下测试程序运行情况。测试数据为:10, 9, 8, 7, 6, 5, 4, 3, 2, 1主函数内的代码:linklist *createlist()int t;linklist *head,*s,*r; /s为新建结点,r为尾结点head=(linklist*)malloc(sizeof(linklist);/开辟空间,建立一个头结点r=head;printf(请输入数字序列,产生单链表,以-1结束。n);scanf(%d,&t);while(t!=-1)s=(linkli
4、st*)malloc(sizeof(linklist);s-data=t;r-next=s;r=s;scanf(%d,&t);r-next=NULL;return head;运行结果:(2)编写算法,在带有头结点的单链表中查找序号为i的结点和值为x的结点并输出。测试要求:在空链表、i与x在链表头、i与x在链表尾、i与x在链表中间、i与x在链表中不存在的情况下测试程序运行情况。主函数内的代码:void findi(linklist *head) /查找结点为i的值linklist *p,*q;int i=0,j=0;printf(输入要查找的结点:n);scanf(%d,&i);if(i=1)q
5、=head-next;else p=head-next;j=1;while(p!=NULL)p=p-next;j+;if(i=j) q=p;break;if(p=NULL)printf(超出范围,不存在);else printf(查找的元素为:); printf(%dn,q-data);测试数据:查找结点为3的值运行结果:void findx(linklist *head) /查找值为x的结点linklist *p;int ch;int j=0;printf(请输入要查找的数值:n);scanf(%d,&ch);p=head-next;j=1;while(p!=NULL&p-data!=ch)
6、 p=p-next;j+;if(p=NULL)printf(你所输入的值不存在!n);elseprintf(第%d个元素为%dn,j,p-data);测试数据:查找值为3的值运行结果:(3)己知单链表中的元素非递减有序排列,编写算法删除单链表中值相同的多余的元素。测试要求:在空链表、有1组相同元素、有2组连续相同元素、有2组以上不连续相同元素的情况下测试程序运行情况。主函数内的代码:linklist *deld(linklist *head)/删除连续相同元素 linklist *p,*q; p=head-next;printf(删除后链表为:n); if(p=NULL) return hea
7、d; else while(p-next!=NULL) q=p-next; if(p-data=q-data) p-next=q-next; free(q); else p=p-next; q=q-next; return head;测试数据:12 45 78 78 96 10 11 11 25 26 28 28 35 36 48 5 5 6 8 9 10 11 12 12 35 38 65 65 78 89运行结果:(4)已知单链表中的数据元素递增有序,编写算法,给定的两个数据Min和Max,删除表中值在min与max之间的结点。测试要求:在空链表、max小于链表第1个元素值、min大于链表
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 基础 实验 报告