




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二:线性表的链式表示和实现一、实验目的:1、掌握线性表的链式存储结构的表示与实现,掌握线对线性链表进行创建、插入、删除和检索等操作的算法。2、 掌握算法的设计与分析过程。3、进一步熟悉VC+开发环境,熟悉完成一个应用程序的设计过程,掌握有关编辑、调试和整合程序的方法和技巧。二、实验要求:1、采用教材中c语言描述的单链表存储结构,模块化设计过程,设计高效的算法完成各种操作任务,针对实际数据实现各种操作。2、完成程序编写,调试成功后,书写实验报告。三、实验任务:1、用记事本新建一个文本文件,文件名为:“班名+序号_bk”,将10个学生的成绩信息输入到这个文件中,建议按如下形式存放。编号 学号 姓名 性别 系名 英语 数学 计算机1 20080010 丁勇 男 机械 78 63 732 20080011 董茂 女 英语 62 87 743 20080012 冯连军 男 信息 80 58 634 20080013 李红 女 信息 86 93 935 20080014 郭瑞 男 化工 76 96 816 20080015 何超超 男 油工 70 91 787 20080016 胡伟 男 信息 66 59 798 20080017 黄明强 男 化工 75 77 769 20080018 于晓雯 女 英语 68 93 6210 20080019 李成伟 男 信息 79 71 652、创建单链表,将文本文件中的学生成绩信息存储到单链表中。3、显示操作,将所有成绩信息在屏幕上显示。4、插入操作,在已经创建的单链表中进行插入操作,在第i条记录后插入1条新的记录,并显示所有信息。5.、删除操作,在单链表中进行删除图书操作,查找第i条记录,找到后删除该条记录,并显示所有信息。四、设计指导1、结点的定义#include#includetypedef struct std /学生的数据结构类型int no;char stunum10;char stuname10;char sex5;char major10;int english;int math;int pc;stu;typedef struct Node/ 单链表的结点类型 stu data; struct Node *next;LNode, *LinkList;LinkList L; /定义头指针stu s1;char str81;2、将复杂的问题分解成若干个相对容易的小问题,并设计好解决每个小问题的函数的函数名、入口参数及其返回值;设计出各个函数的程序框架及完整的主函数程序。(注:每个功能一个函数)如: /创建链表算法void CreateList(LinkList L)LinkList p,q;FILE *fp;int i;/具体设计请大家自己完成!printf(n);/显示学生成绩void DisplayList(LinkList L)/具体设计请大家自己完成!/插入新记录void ListInsert(LinkList L,int i)/具体设计请大家自己完成!/删除记录void ListDelete(LinkList L,int i)/具体设计请大家自己完成!/主函数void main()int i;while(1)printf(*学生成绩管理系统*n);printf(*1.创建链表 *n);printf(*2.全部显示 *n);printf(*3.插入记录 *n);printf(*4.删除记录 *n);printf(*0.退出系统 *n);printf(请输入您的选择:n);scanf(%d,&i);switch(i)case 1:CreateList(L);break;case 2:DisplayList(L);break;case 3:ListInsert(L,3);break;/在第3条记录面插入一条新记录case 4:ListDelete(L,5);break;/删除第5条记录case 0:exit(0);default:printf(输入不正确,请重新输入!n);完整代码如下:#include#includetypedef struct std /学生的数据结构类型int no;char stunum10;char stuname10;char sex5;char major10;int english;int math;int pc;stu;typedef struct Node/ 单链表的结点类型 stu data; struct Node *next;LNode, *LinkList;LinkList L; /定义头指针stu s1;char str81;/2、将复杂的问题分解成若干个相对容易的小问题,并设计好解决每个小问题的函/数的函数名、入口参数及其返回值;设计出各个函数的程序框架及完整的主函数程序/。(注:每个功能一个函数)/如: /创建链表算法void LinkListAble(LinkList *L)*L=(LinkList) malloc (sizeof (LNode);if(L=NULL)printf(创建节点失败!n);exit(0);(*L)-next=NULL;/return L;void CreateList(LinkList *L)LinkList p,q;FILE *fp;/具体设计请大家自己完成!fp=fopen(JSJ6100119_bk.txt,r);if(fp=NULL)printf(打开文件失败!n);exit(0);p=(LinkList )malloc(sizeof(LNode);if(p=NULL)printf(创建节点失败!n);exit(0);(*L)=p;fgets(str,100,fp);while(!feof(fp)fscanf(fp,%d%s%s%s%s%d%d%d,&p-data.no,p-data.stunum,p-data.stuname,p-data.sex,p-data.major,&p-data.english,&p-data.math,&p-data.pc);q=(LinkList )malloc(sizeof(LNode);q-next = NULL;if(q=NULL)printf(创建节点失败!n);exit(0);p-next = q;p = q;p-next=NULL;fclose(fp);printf(n);/return L;/显示学生成绩void DisplayList(LinkList *L)/具体设计请大家自己完成!LinkList p;p=(*L);while(p-next!=NULL)printf(%dt%st%st%st%st%dt%dt%dn,p-data.no,p-data.stunum,p-data.stuname,p-data.sex,p-data.major,p-data.english,p-data.math,p-data.pc);p=p-next;/插入新记录void ListInsert(LinkList *L,int i)/具体设计请大家自己完成!LinkList p,pre;pre=(*L);int j;for(j=1;jnext;p=(LinkList )malloc(sizeof(LNode);printf(请一次输入要插入的信息n);scanf(%d%s%s%s%s%d%d%d,&p-data.no,p-data.stunum,p-data.stuname,p-data.sex,p-data.major,&p-data.english,&p-data.math,&p-data.pc);p -next=pre -next;pre -next = p;/删除记录void ListDelete(LinkList *L,int i)/具体设计请大家自己完成!LinkList p,t;p=(*L);int j;for(j=1;jnext;t=p-next;p -next=t-next;free(t);/主函数void main()int i;while(1)printf(*学生成绩管理系统*n);printf(*1.创建链表 *n);printf(*2.全部显示 *n);printf(*3.插入记录 *n);printf(*4.删除记录 *n);printf(*0.退出系统 *n);printf(请输入您的选择:n);scanf(%d,&i);switch(i)case 1:LinkListAble(&L);CreateList(&L);break;case 2:Displ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全国导游证考试知识要点及预测题集
- 2025年财务会计岗位招聘面试预测题及策略分析
- 2025年猪肉储备库招聘面试题分析及应对策略
- 2025年软件开发技术面试模拟题集及解析
- 2025年物流行业运输调度员招聘考试题库及解析
- 2025年焊接工艺与热切割作业模拟题集及解析
- 38、水平一花样跳绳18
- 2025年护士中级职称考试专业知识题库
- 2025年燃气行业求职必-备中级储运工岗位模拟题与答案
- 2025年机械设计工程师面试宝典与模拟题答案详解篇
- 《服务器安装与维护》课件
- 金蝶K3供应链操作手册
- 老年患者护理心理护理
- 《食品经营许可证》延续申请书
- 电缆中间接头防火整改方案
- 城市照明工程投标书模板2024
- 项目担保合作协议范本
- 2024-2025学年湖南省“炎德·英才·名校联考联合体”高二第一次联考(暨入学检测)数学试题(含答案)
- 维修人员技能提升与企业绩效关联研究
- 2024新一代变电站集中监控系统系列规范第2部分:设计规范
- 洁净手术部技术要求
评论
0/150
提交评论