c语言,链式存储的线性表

c语言,链式存储的线性表

ID:14382791

大小:97.00 KB

页数:7页

时间:2018-07-28

c语言,链式存储的线性表_第1页
c语言,链式存储的线性表_第2页
c语言,链式存储的线性表_第3页
c语言,链式存储的线性表_第4页
c语言,链式存储的线性表_第5页
资源描述:

《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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。