欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    数据结构实验一实验报告.doc

    • 资源ID:16725       资源大小:127.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构实验一实验报告.doc

    实验一 线性表的基本操作一、 实验目的1、掌握线性表的定义;2、掌握线性表的基本操作,如建立、查找、插入和删除等。二、 实验容定义一个包含学生信息学号,成绩的顺序表和链表二选一,使其具有如下功能:<1> 根据指定学生个数,逐个输入学生信息;<2> 逐个显示学生表中所有学生的相关信息;<3> 根据进行查找,返回此学生的学号和成绩;<4> 根据指定的位置可返回相应的学生信息学号,成绩;<5> 给定一个学生信息,插入到表中指定的位置; <6> 删除指定位置的学生记录;<7> 统计表中学生个数。三、 实验环境Visual C+四、 程序分析与实验结果#include<stdio.h>#include<malloc.h>#include<stdlib.h>#include<string.h>#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;/ 定义函数返回值类型 typedef structchar num10; / 学号char name20; / double grade; / 成绩 student;typedef student ElemType;typedef struct LNodeElemType data; / 数据域struct LNode *next; /指针域 LNode,*LinkList;Status InitList<LinkList &L> / 构造空链表 L L=<struct LNode*>malloc<sizeof<struct LNode>>L->next=NULL;return OK;Status GetElem<LinkList L,int i,ElemType &e> / 访问链表,找到 i位置的数据域,返回给 e LinkList p;p=L->next;int j=1;while<p&&j<i>p=p->next;+j;if<!p|j>i>return ERROR;e=p->data;return OK;Status Search<LNode L,char str,LinkList &p> / 根据名字查找 p=L.next; while<p>if<strcmp<p->data.name,str>=0>return OK;p=p->next;return ERROR;Status ListInsert<LinkList L,int i,ElemType e> / 在 i个位置插入某个学生的信息 LinkList p,s;p=L;int j=0;while<p&&j<i-1>p=p->next;+j;if<!p|j>i-1>return ERROR;s=<struct LNode*>malloc<sizeof<LNode>>s->data=e;s->next=p->next;p->next=s;return OK;Status ListDelete<LinkList p,int i> / 删除 i位置的学生信息 int j=0;while<<p->next>&&<j<i-1>>p=p->next;+j;if<!<p->next>|<j>i-1>>return ERROR;LinkList q;q=p->next;p->next=q->next; delete q;return OK;void Input<ElemType *e>printf<":">scanf<"%s",e->name>printf<"学号:">scanf<"%s",e->num>printf<"成绩:">scanf<"%lf",&e->grade>printf<"输入完成nn">void Output<ElemType *e>printf<":%-20sn学号:%-10sn成绩:%-10.2lfnn",e->name,e->num,e->grade>int main<>LNode L;LinkList p;ElemType a,b,c,d;printf<"n*nn">puts<"1. 构造链表"> puts<"2. 录入学生信息">puts<"3. 显示学生信息">puts<"4. 输入,查找该学生">puts<"5. 显示某位置该学生信息"> puts<"6. 在指定位置插入学生信息">puts<"7. 在指定位置删除学生信息">puts<"8. 统计学生个数">puts<"0. 退出">printf<"n*nn">int x,choose=-1;while<choose!=0>puts<"请选择:">scanf<"%d",&choose>switch<choose>case 1:if<InitList<p>>printf<"成功建立链表nn">elseprintf<"链表建立失败nn">break;case 2:printf<"请输入要录入学生信息的人数:">scanf<"%d",&x>for<int i=1;i<=x;i+>printf<"第%d个学生:n",i>Input<&a>ListInsert<&L,i,a>break;case 3:for<int i=1;i<=x;i+>GetElem<&L,i,b>Output<&b>break;case 4:char s20;printf<"请输入要查找的学生:">scanf<"%s",s>if<Search<L,s,p>>Output<&<p->data>>elseputs<"对不起,查无此人">puts<"">break;case 5:printf<"请输入要查询的位置:">int id1;scanf<"%d",&id1>GetElem<&L,id1,c>Output<&c>break;case 6:printf <"请输入要插入的位置:">int id2;scanf<"%d",&id2>printf<"请输入学生信息:n">Input<&d>if<ListInsert<&L,id2,d>>x+;puts<"插入成功">puts<"">elseputs<"插入失败">puts<"">break;case 7:printf<"请输入要删除的位置:">int id3;scanf<"%d",&id3>if<ListDelete<&L,id3>>x-;puts<"删除成功">puts<"">elseputs<"删除失败">puts<"">break;case 8:printf<"已录入的学生个数为:%dnn",x>break;printf<"nn您的使用,请按任意键退出nnn">system<"pause"> return 0;用户界面:(1) 根据指定学生个数,逐个输入学生信息:(2) 逐个显示学生表中所有学生的相关信息:(3) 根据进行查找,返回此学生的学号和成绩:(4) 根据指定的位置可返回相应的学生信息学号,成绩:(5) 给定一个学生信息,插入到表中指定的位置:(6) 删除指定位置的学生记录:(7) 统计表中学生个数:五、 实验总结数据结构是一门专业技术基础课。它要求学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构,存储结构及相应的算法,并初步掌握算法的时间分析和空间分析技术。不仅要考虑具体实现哪些功能,同时还要考虑如何布局,这次的实验题目是根据我们的课本学习进程出的,说实话,我并没有真正的读懂书本的知识,所以刚开始的时候,感到很棘手,于是又重新细读课本,这一方面又加强了对书本的理解,在这上面花费了一些心血,觉得它并不简单,是需要花大量时间来编写的。在本次实验中,在程序构思及设计方面有了较大的锻炼,能力得到了一定的提高。

    注意事项

    本文(数据结构实验一实验报告.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开