数据结构实验一 实验报告Word文档下载推荐.docx

上传人:b****1 文档编号:15008069 上传时间:2022-10-26 格式:DOCX 页数:10 大小:94.28KB
下载 相关 举报
数据结构实验一 实验报告Word文档下载推荐.docx_第1页
第1页 / 共10页
数据结构实验一 实验报告Word文档下载推荐.docx_第2页
第2页 / 共10页
数据结构实验一 实验报告Word文档下载推荐.docx_第3页
第3页 / 共10页
数据结构实验一 实验报告Word文档下载推荐.docx_第4页
第4页 / 共10页
数据结构实验一 实验报告Word文档下载推荐.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

数据结构实验一 实验报告Word文档下载推荐.docx

《数据结构实验一 实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构实验一 实验报告Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。

数据结构实验一 实验报告Word文档下载推荐.docx

stdlib.h>

string.h>

#defineOK1

#defineERROR0

#defineOVERFLOW-2

typedefintStatus;

//定义函数返回值类型

typedefstruct

{

charnum[10];

//学号

charname[20];

//

doublegrade;

//成绩

}student;

typedefstudentElemType;

typedefstructLNode

ElemTypedata;

//数据域

structLNode*next;

//指针域

}LNode,*LinkList;

StatusInitList(LinkList&

L)//构造空链表L

L=(structLNode*)malloc(sizeof(structLNode));

L->

next=NULL;

returnOK;

}

StatusGetElem(LinkListL,inti,ElemType&

e)//访问链表,找到i位置的数据域,返回给e

LinkListp;

p=L->

next;

intj=1;

while(p&

&

j<

i)

{

p=p->

++j;

}

if(!

p||j>

i)returnERROR;

e=p->

data;

StatusSearch(LNodeL,charstr[],LinkList&

p)//根据名字查找

p=L.next;

while(p)

if(strcmp(p->

data.name,str)==0)

returnOK;

returnERROR;

StatusListInsert(LinkListL,inti,ElemTypee)//在i个位置插入某个学生的信息

LinkListp,s;

p=L;

intj=0;

i-1)

i-1)returnERROR;

s=(structLNode*)malloc(sizeof(LNode));

s->

data=e;

next=p->

p->

next=s;

StatusListDelete(LinkListp,inti)//删除i位置的学生信息

while((p->

next)&

(j<

i-1))

(p->

next)||(j>

i-1))returnERROR;

LinkListq;

q=p->

next=q->

deleteq;

voidInput(ElemType*e)

printf("

:

"

);

scanf("

%s"

e->

name);

学号:

num);

成绩:

%lf"

&

e->

grade);

输入完成\n\n"

voidOutput(ElemType*e)

%-20s\n学号:

%-10s\n成绩:

%-10.2lf\n\n"

name,e->

num,e->

intmain()

LNodeL;

ElemTypea,b,c,d;

\n********************************\n\n"

puts("

1.构造链表"

2.录入学生信息"

3.显示学生信息"

4.输入姓名,查找该学生"

5.显示某位置该学生信息"

6.在指定位置插入学生信息"

7.在指定位置删除学生信息"

8.统计学生个数"

0.退出"

intx,choose=-1;

while(choose!

=0)

puts("

请选择:

scanf("

%d"

choose);

switch(choose)

{

case1:

if(InitList(p))

printf("

成功建立链表\n\n"

else

链表建立失败\n\n"

break;

case2:

printf("

请输入要录入学生信息的人数:

scanf("

x);

for(inti=1;

i<

=x;

i++)

{

第%d个学生:

\n"

i);

Input(&

a);

ListInsert(&

L,i,a);

}

case3:

GetElem(&

L,i,b);

Output(&

b);

case4:

chars[20];

请输入要查找的学生姓名:

s);

if(Search(L,s,p))

data));

puts("

对不起,查无此人"

puts("

case5:

请输入要查询的位置:

intid1;

id1);

GetElem(&

L,id1,c);

Output(&

c);

case6:

printf("

请输入要插入的位置:

intid2;

id2);

请输入学生信息:

Input(&

d);

if(ListInsert(&

L,id2,d))

x++;

插入成功"

插入失败"

case7:

请输入要删除的位置:

intid3;

id3);

if(ListDelete(&

L,id3))

x--;

删除成功"

删除失败"

case8:

已录入的学生个数为:

%d\n\n"

x);

}

\n\n谢谢您的使用,请按任意键退出\n\n\n"

system("

pause"

return0;

用户界面:

(1)根据指定学生个数,逐个输入学生信息:

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

(3)根据姓名进行查找,返回此学生的学号和成绩:

(4)根据指定的位置可返回相应的学生信息(学号,,成绩):

(5)给定一个学生信息,插入到表中指定的位置:

(6)删除指定位置的学生记录:

(7)统计表中学生个数:

五、实验总结

数据结构是一门专业技术基础课。

它要求学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构,存储结构及相应的算法,并初步掌握算法的时间分析和空间分析技术。

不仅要考虑具体实现哪些功能,同时还要考虑如何布局,这次的实验题目是根据我们的课本学习进程出的,说实话,我并没有真正的读懂书本的知识,所以刚开始的时候,感到很棘手,于是又重新细读课本,这一方面又加强了对书本的理解,在这上面花费了一些心血,觉得它并不简单,是需要花大量时间来编写的。

在本次实验中,在程序构思及设计方面有了较大的锻炼,能力得到了一定的提高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1