实验一 用指针处理链表指导书.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文档。上传文档
查看更多
实验一 用指针处理链表指导书

实验一 用指针处理链表 一.实验目的 了解链表是一种重要的数据结构和动态进行存储分配的一种结构。学会使用链表进行数据操作。 二. 实验内容 能够编写简单的建立链表、输出链表、链表插入和删除的程序,并进行数据输入、输出、插入和删除操作。 三.实验环境需要仪器、设备 PC机一台,预装Win2K/Win98操作系统及Microsoft Visual C++ 6.0程序。 四.实验线路及原理 根据所给流程图写出建立一个有5名学生数据的单向链表的函数;将链表中各结点的数据集资输出的函数;删除和插入某个结点的函数;最后写出主程序建立链表及执行上述各项操作。 开辟一个新结点,并使p1,p2指向它 读入一个学生数据给p1所指的结点 Head=NULL,n=0 当读入的p1-num不是零 N=n+1 n 真 =1 假 Head=p1 (把p1所指的结点作为第一个结点) P2-next=p1 (把p1所批的结点连接到表尾) P2=p1(p2移到表尾) 再开辟一个新结点,使p1再指向它 读入一个学生数据给p1所指结点 表尾结点的指针变量置NULL 五.实验方法与步骤 自己设计后,经由指导教师审查后进行编译链接调试。 六. 实验报告内容与要求 画出程序流程图。 写出具体程序。 七. 思考 1.查找表的工作方式是否与链表操作一致?为什么? 实验二 用二叉树实现类属查找表 一.实验目的 了解查找表是一种重要的数据抽象,是数据库应用和字处理的中心环节,是编译结构、操作系统设计、图形和数值方法以及其他应用的中心。 二. 实验内容 用二叉树实现类属查找表,建立面向对象系统的体系结构和基于对象消息传递的框架。插入一个实体到表中;从表中删去一个实体;确定表中具体实体是否存在;显示有中所有实体。 三.实验环境需要仪器、设备 仪器:PC机一台。 四.实验线路及原理 用二叉树实现类属查找表,建立面向对象系统的体系结构和基于对象消息传递的框架。插入一个实体到表中;从表中删去一个实体;确定表中具体实体是否存在;显示有中所有实体。 五.实验方法与步骤 提供函数lessthan, equal和visittype的全局类型定义。指定lessthan是指向函数类型的指针,该函数返回一个整数并带有两个参数,每个均为一个字符地址。 定义一个类node,说明类search_table是它的一个友元。它的私有部分包含一个指向左或右子节点的指针,以及指向字符类型的指针。 指定类search_table中含有:数据root是一个指向类node的对象;数据size保存每个节点对象中数据存储的字节数;数据lt是一个指向类型lessthan函数的指针;eq是一个指向类型equal的函数指针;visit是一个指向类型visittype函数的指针。 类search_table的实现参见附录。 编写使用search_table抽象的测试程序。建立三张表,每张表使用一组不同的函数进行相等和不等的测试。第一张表使用last_name作为建表时的关键字;第二张表使用first_name作为建表时的关键字;第三张表使用age作为建表时的关键字。 测试程序参见附录。 六. 实验报告内容与要求 出程序流程图。 写出具体程序。 七. 思考 1.能否用其它方式实现查找表?为什么? 附录1: /*Cchain.cpp*/ #include Stdlib.h #include stdio.h #include iostream.h #define NULL 0 #define LEN sizeof(struct student) struct student { long num; int score; struct student *next; }; int n; struct student *creat() { struct student *head; struct student *p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN); scanf(%d,%f,p1-num,p1-score); head=NULL; while(p1-num!=0) { n=n+1; if(n==1)head=p1; else p2-next=p1; p2=p1; p1=(struct student *)malloc(LEN); cinp1-num;cinp1-score; } p2-next=NULL; return(head); } struct student *del(struct student *head,long num) { struct student *p1,*p2;

文档评论(0)

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

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

1亿VIP精品文档

相关文档