- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
成 绩:电子信息工程学系实验报告 ——适用于
成 绩:
指导教师(签名):课程名称: 数据结构
指导教师(签名):
实验项目名称: 线性表的插入和删除 实验时间:2012-2-22—2012-3-15
班级:计教101 姓名: 傅倩 学号:010701140
实 验 目 的:
熟悉掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,并熟悉其各自的优缺点及适用性。
实 验 环 境:
xp,win-tc
实 验 内 容 及 过 程:
题目1:
编写程序实现下列的要求:
(1) 设数据元素为整数,实现这样的线性表的顺序存储表示。
(2) 键盘输入10个数据元素,利用顺序表的基本操作,建立该表。
(3) 利用顺序表的基本操作,找出表中的最大的和最小的数据元素(用于比较的数据元素为整数)。
(4) * 若数据元素为学生成绩(含姓名、成绩等字段),重新编程,实现上面的要求。要求尽可能少地修改前面的程序来得到新程序。(这里用于比较的字段为分数)
测试数据:
题目2:
编写程序实现下列的要求:
(1) 设学生成绩表中的数据元素为学生成绩(含姓名、成绩字段),实现这样的线性表的链式存储表示。
(2) 键盘输入若干个数据元素(用特殊数据来标记输入数据的结束),利用链表的基本操作(前插或后插算法),建立学生成绩单链表。
(3) 键盘输入关键字值x,打印出表中所有关键字值=x的结点数据。(用于比较的关键字字段为分数)。
(4) 输入关键字值x,删除表中所有关键字值=x的结点。(用于比较的关键字字段为分数)。
测试数据:
实 验 结 果 及 分 析:
(1)运行结果:
该程序只有计算总个数和求最大最小值功能,比较简单,不能有其他更多的操作。
(2) 运行结果:
该程序可进行建立链表,输入输出数值,插入数据,删除数据,但无排序功能是很大的不足。
实 验 心 得:
通过该实验程序的编写,使我了解到自己的不足,对于许多程序的功能都不太理解,很多代码都是按老师上课写的来用,但是要用书上的代码确总是出错,可是却不知道怎么改。对于C语言知识确实比较薄弱,以至于学习数据结构觉得很难。这个实验主要是对线性表的插入与删除功能进行编写,这应该只是最基础的,但是我还是不太会,比如把那个输出结果进行排序都没有做出来,今后得更加努力学习了。
附 录:
(1)第一题程序:
/* 建立顺序表,并找出最大值和最小值*/
#include stdio.h
#include conio.h
#define maxnum 100
struct seqlist
{
int A[maxnum];
int n; /*元素个数*/
};
struct seqlist *creatNULL() /*创建空表*/
{
struct seqlist *L;
L=(struct seqlist *)malloc(sizeof(struct seqlist));
L-n=0;
return L;
}
void creat(struct seqlist *L) /*创建表格*/
{
int i;
printf(input the number of table: );
for(i=0;i10;i++)
{scanf(%d,L-A[i]);L-n++;}
printf(the table is: );
for(i=0;i10;i++)
printf(%5d,L-A[i]);
printf(\n total is: );
printf(n=%d ,L-n);
}
int Max(struct seqlist *L) /*查找最大值*/
{ int maxi=0;
int i;
for(i=1;i=L-n-1;i++)
if(L-A[maxi]L-A[i])
maxi=i;
return L-A[maxi];
}
int Min(struct seqlist *L) /*查找最小值*/
{ int mini=0;
int i;
for(i=1;i=L-n-1;i++)
i
原创力文档


文档评论(0)