C语言,链式存储的线性表.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言,链式存储的线性表

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

文档评论(0)

cbf96793 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档