数据结构实验一-实验报告.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文档。上传文档
查看更多
数据结构实验》是一个关于线性表操作的实验报告,通过实际操作让学生了解了线性表的功能及操作方式,并掌握了基本的数据结构

《数据结构实验》实验报告

PAGE

第PAGE1页共NUMPAGES1页

班级:姓名:学号:

实验一线性表的基本操作

实验目的

1、掌握线性表的定义;

2、掌握线性表的基本操作;如建立、查找、插入和删除等..

实验内容

定义一个包含学生信息学号;姓名;成绩的顺序表和链表二选一;使其具有如下功能:

1根据指定学生个数;逐个输入学生信息;

2逐个显示学生表中所有学生的相关信息;

3根据姓名进行查找;返回此学生的学号和成绩;

4根据指定的位置可返回相应的学生信息学号;姓名;成绩;

5给定一个学生信息;插入到表中指定的位置;

6删除指定位置的学生记录;

7统计表中学生个数..

实验环境

VisualC++

程序分析与实验结果

#includestdio.h

#includemalloc.h

#includestdlib.h

#includestring.h

#defineOK1

#defineERROR0

#defineOVERFLOW-2

typedefintStatus; //定义函数返回值类型

typedefstruct

{

charnum10;//学号

charname20;//姓名

doublegrade;//成绩

}student;

typedefstudentElemType;

typedefstructLNode

{

ElemTypedata;//数据域

structLNode*next;//指针域

}LNode;*LinkList;

StatusInitListLinkListL//构造空链表L

{

L=structLNode*mallocsizeofstructLNode;

L-next=NULL;

returnOK;

}

StatusGetElemLinkListL;inti;ElemTypee//访问链表;找到i位置的数据域;返回给e

{

LinkListp;

p=L-next;

intj=1;

whilepji

{

p=p-next;

++j;

}

ifp||ji returnERROR;

e=p-data;

returnOK;

}

StatusSearchLNodeL;charstr;LinkListp//根据名字查找

{

p=L.next;

whilep

{

ifstrcmpp-data.name;str==0

returnOK;

p=p-next;

}

returnERROR;

}

StatusListInsertLinkListL;inti;ElemTypee//在i个位置插入某个学生的信息

{

LinkListp;s;

p=L;

intj=0;

whilepji-1

{

p=p-next;

++j;

}

ifp||ji-1 returnERROR;

s=structLNode*mallocsizeofLNode;

s-data=e;

s-next=p-next;

p-next=s;

returnOK;

}

StatusListDeleteLinkListp;inti//删除i位置的学生信息

{

intj=0;

whilep-nextji-1

{

p=p-next;

++j;

}

ifp-next||ji-1 returnERROR;

LinkListq;

q=p-next;

p-next=q-next;

deleteq;

returnOK;

}

voidInputElemType*e

{

printf姓名:; scanf%s;e-name;

printf学号:; scanf%s;e-num;

printf成绩:; scanf%lf;e-grade;

printf输入完成\n\n;

}

voidOutputElemType*e

{

printf姓名:%-20s\n学号:%-10s\n成绩:%-10.2lf\n\n;e-name;e-num;e-grade;

}

intmain

{

LNodeL;

LinkListp;

ElemTypea;b;c;d;

printf\n********************************\n\n;

puts1.构造链表;

puts2.录入学生信息;

puts3.显示学生信息;

p

文档评论(0)

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

个人介绍

1亿VIP精品文档

相关文档