网站大量收购独家精品文档,联系QQ:2885784924

实验一 用指针处理链表 - 南京工业大学1035.doc

实验一 用指针处理链表 - 南京工业大学1035.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一 用指针处理链表 - 南京工业大学1035

实验一 用指针处理链表 - 南京工业大学1035 上下同欲者胜 —— 孙武 实验一 用指针处理链表 一.实验目的 了解链表是一种重要的数据结构和动态进行存储分配的一种结构 学会使用链表进行数据操作 二. 实验内容   能够编写简单的建立链表、输出链表、链表插入和删除的程序,并进行数据输入、输出、插入和删除操作 三.实验环境需要仪器、设备 1. 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. 画出程序流程图 2. 写出具体程序 七. 思考   1.查找表的工作方式是否与链表操作一致?为什么? 实验二 用二叉树实现类属查找表 一.实验目的 了解查找表是一种重要的数据抽象,是数据库应用和字处理的中心环节,是编译结构、操作系统设计、图形和数值方法以及其他应用的中心 二. 实验内容   用二叉树实现类属查找表,建立面向对象系统的体系结构和基于对象消息传递的框架 插入一个实体到表中;从表中删去一个实体;确定表中具体实体是否存在;显示有中所有实体 三.实验环境需要仪器、设备 仪器:PC机一台 四.实验线路及原理   用二叉树实现类属查找表,建立面向对象系统的体系结构和基于对象消息传递的框架 插入一个实体到表中;从表中删去一个实体;确定表中具体实体是否存在;显示有中所有实体 五.实验方法与步骤 1. 提供函数lessthan, equal和visittype的全局类型定义 指定lessthan是指向函数类型的指针,该函数返回一个整数并带有两个参数,每个均为一个字符地址 2. 定义一个类node,说明类search_table是它的一个友元 它的私有部分包含一个指向左或右子节点的指针,以及指向字符类型的指针 3. 指定类search_table中含有:数据root是一个指向类node的对象;数据size保存每个节点对象中数据存储的字节数;数据lt是一个指向类型lessthan函数的指针;eq是一个指向类型equal的函数指针;visit是一个指向类型visittype函数的指针 4. 类search_table的实现参见附录 5. 编写使用search_table抽象的测试程序 建立三张表,每张表使用一组不同的函数进行相等和不等的测试 第一张表使用last_name作为建表时的关键字;第二张表使用first_name作为建表时的关键字;第三张表使用age作为建表时的关键字 1. 测试程序参见附录 六. 实验报告内容与要求 1. 出程序流程图 2. 写出具体程序 七. 思考   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;

文档评论(0)

me54545 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档