- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一 用指针处理链表 - 南京工业大学1419
实验一 用指针处理链表 - 南京工业大学1419
30.金钱宝贵,生命更宝贵,时间最宝贵
——苏活诺夫
实验一 用指针处理链表
一.实验目的
了解链表是一种重要的数据结构和动态进行存储分配的一种结构
学会使用链表进行数据操作
二. 实验内容
能够编写简单的建立链表、输出链表、链表插入和删除的程序,并进行数据输入、输出、插入和删除操作
三.实验环境需要仪器、设备
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-
您可能关注的文档
最近下载
- 幼儿韵律活动傻瓜流程.pptx VIP
- 新教科版五上科学全册知识点.doc VIP
- 2025-2026学年岭美版(2024)小学美术一年级上册(全册)教学设计(附目录P148).docx
- 江淮CPC(D)20-30-CPC(D)30A叉车零件图册.pdf VIP
- 《精彩人生—职业生涯规划》中职生职业生涯发展全套教学课件.pptx
- 新教科版科学六上全册知识点.doc VIP
- 二年级道德与法治上册第二单元整体教学设计.pdf VIP
- 传感器原理及工程应用_(第三版)_((郁有文))_(西安电子科技大学出版)_详细答案 (1).doc VIP
- 幼儿园岗位廉洁风险点及防控措施.docx VIP
- 学堂在线《精确制导器术道》网课章节测试答案.docx VIP
文档评论(0)