欢迎来到天天文库
浏览记录
ID:14382791
大小:97.00 KB
页数:7页
时间:2018-07-28
《c语言,链式存储的线性表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、宁波大红鹰学院实验报告实验名称:实验三链式存储的线性表学院:专业:年级:级小组成员1:学号:职责:小组成员2:学号:职责:报告小组成员3:学号:职责:实验时间:2014年3月12日实验类型:验证性实验地点:成绩:指导教师签字:实验报告基本内容要求:一、实验目的和要求;二、实验内容和原理;三、主要仪器设备;四、操作方法与实验步骤;五、实验数据记录和处理;六、实验结果与分析;七、讨论、心得一、实验目的1.了解线性表的逻辑结构特性,以及这种特性在计算机内的两种存储结构。2.重点是线性表的基本操作在两种存储结构上的实现;其中以链表的操
2、作为侧重点;并进一步学习结构化的程序设计方法。3.掌握单链表的基本操作,如创建、显示、删除等。二、实验内容三、课堂讨论题(30分)(1)线性表的顺序存储结构具有三个弱点:其一,在作插入或删除操作时,需移动大量元素;其二,由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;其三,表的容量难以扩充。线性表的链式存储结构是否能够克服上述三个弱点,请给出理由。答能。线性表的链式存储结构是不连续的,指针代表逻辑顺序,所以插入删除操作时,只需修改相关节点的指针,不需要移动大量元素。采用动态存储分配,不会造成内存浪费和溢出
3、。(2)请分析顺序存储结构和链式存储结构的异同点。同:顺序存储结构和链式存储结构都是计算机内存放线性表的基本存储结构异:顺序结构的优点:1.逻辑相邻,物理相邻;2.可随机存取任一元素;3.存储空间使用紧凑缺点:1.插入删除操作需要移动大量元素;2.由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;3.表的容量难以扩充链式存储的优点:1.线性表的链式存储结构是不连续的,指针代表逻辑顺序,所以插入删除操作时只需修改相关节点的指针,不需要移动大量元素。2.采用动态存储分配,不会造成内存浪费和溢出。缺点:1.不能随
4、机存储元素2.存储密度小,存储空间利用率低3.有些语言中不支持指针,不容易实现一、算法设计题1)统计单链表中值为x的元素有多少个?(50分)要求:(1)x的值从键盘输入2)从单链表中删除min和max之间的所有元素。(+20分)要求:(1)指定的值min和max由键盘输入;(2)程序能处理空链表的情况。可以按照如下的参考程序,进行程序段填空,也可以自己从头开始编写,只要能实现功能即可。二、主要仪器设备计算机三、实验步骤第一题:#include#include//补充必要的语句以及结构体ty
5、pedefstructnode{intdata;structnode*next;}LNode;LNode*L;LNode*CreateList();voidDisplay(LNode*L);intSearchx(LNode*L,intx);intmain(intargc,char*argv[]){intx,s;printf("创建单链表,输入0表示结束-----------");L=CreateList();printf("创建后的链表为------------------");Display(L);printf("请
6、输入你要查找的数据---------------");printf("x=");scanf("%d",&x);s=Searchx(L,x);printf("该链表中值为%d的元素有%d个",x,s);getchar();return0;}LNode*CreateList(){LNode*p,*q,*h;intx;//创建链表h=(LNode*)malloc(sizeof(LNode));//创建头结点h->next=NULL;q=h;while(1){printf("输入数据:");scanf("%d",&x);if(
7、x==0)break;p=(LNode*)malloc(sizeof(LNode));//申请一个结点赋值给pp->data=x;p->next=NULL;q->next=p;q=q->next;}returnh;}voidDisplay(LNode*L){LNode*p;p=L->next;while(p!=NULL){printf("%d->",p->data);p=p->next;}printf("");}intSearchx(LNode*L,intx){ints=0;LNode*p;p=L->next;while(
8、p!=NULL){if(p->data==x)s++;p=p->next;}returns;}第二题:#include#includetypedefstructnode{intdata;structnode*next;}LNode,Lin
此文档下载收益归作者所有