




已阅读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湖北恩施市福牛物业有限公司招聘恩施市公路事业发展中心工作人员4人模拟试卷及1套参考答案详解
- 2025年河北衡水市第三人民医院招聘见习人员49名模拟试卷附答案详解(突破训练)
- 2025年黑河事业单位真题
- 2025年铜川易源电力实业有限责任公司招聘(3人)考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025河北承德市消防救援支队政府专职消防队员招聘73人考前自测高频考点模拟试题附答案详解(典型题)
- 2025海南省交通工程建设局第一批考核招聘劳动合同制人员8人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025年阆中市公开引进高层次医疗卫生人才(10人)考前自测高频考点模拟试题含答案详解
- 2025广西玉林市北流市西埌镇招聘村级网格管理员1人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025年输注延长管合作协议书
- 2025湖南省卫生健康委直属事业单位高层次人才公开招聘218人模拟试卷及答案详解(历年真题)
- 2025年大模型章节练习考试题库
- 汽修店员工劳务合同范本
- 项目工程挂靠协议书范本
- T-HNTI 018-2020 湘西黄金茶 绿茶
- 三年级数学《毫米的认识》教学设计
- 高中物理好题集萃:电磁感应(题目版)
- 人工智能基础与应用课件 项目1 初探人工智能
- 妇产医院五年发展规划范文
- 2025-2030年中国智能电网行业市场发展前景及投资战略研究报告
- qa笔试题目及答案
- 微积分学-P.P.t-标准课件00-第1讲微积分的发展历程
评论
0/150
提交评论