第 1 页 共 7 页 实验二:线性表的链式表示和实现 一、实验目的: 1、掌握线性表的链式存储结构的表示与实现,掌握线对线性链表进行创建、插入、删除和检索等操作的算法。 2、 掌握算法的设计与分析过程。 3、进一步熟悉VC++开发环境,熟悉完成一个应用程序的设计过程,掌握有关编辑、调试和整合程序的方法和技巧。 二、实验要求: 1、采用教材中c语言描述的单链表存储结构,模块化设计过程,设计高效的算法完成各种操作任务,针对实际数据实现各种操作。 2、完成程序编写,调试成功后,书写实验报告。 三、实验任务: 1、用记事本新建一个文本文件,文件名为:“班名+序号_bk”,将 10个学生的成绩信息输入到这个文件中,建议按如下形式存放。 编号 学号 姓名 性别 系名 英语 数学 计算机 1 20080010 丁勇 男 机械 78 63 73 2 20080011 董茂 女 英语 62 87 74 3 20080012 冯连军 男 信息 80 58 63 4 20080013 李红 女 信息 86 93 93 5 20080014 郭瑞 男 化工 76 96 81 6 20080015 何超超 男 油工 70 91 78 7 20080016 胡伟 男 信息 66 59 79 8 20080017 黄明强 男 化工 75 77 76 9 20080018 于晓雯 女 英语 68 93 62 10 20080019 李成伟 男 信息 79 71 65 2、创建单链表,将文本文件中的学生成绩信息存储到单链表中。 3、显示操作,将所有成绩信息在屏幕上显示。 4、插入操作,在已经创建的单链表中进行插入操作,在第i条记录后插入1条新的记录,并显示所有信息。 5.、删除操作,在单链表中进行删除图书操作,查找第i条记录,找到后删除该条记录,并显示所有信息。 四、设计指导 1、结点的定义 #include #include typedef struct std //学生的数据结构类型 { int no; char stunum[10]; char stuname[10]; char sex[5]; char major[10]; int english; 第 2 页 共 7 页 int math; int pc; }stu; typedef struct Node// 单链表的结点类型 { stu data; struct Node *next; }LNode, *LinkList; LinkList L; //定义头指针 stu s1; char str[81]; 2、将复杂的问题分解成若干个相对容易的小问题,并设计好解决每个小问题的函数的函数名、入口参数及其返回值;设计出各个函数的程序框架及完整的主函数程序。(注:每个功能一个函数) 如: //创建链表算法 void...