线性表实验报告:针对链式或顺序存储的线性表实现指定的操作(二份)(共19页).doc
《线性表实验报告:针对链式或顺序存储的线性表实现指定的操作(二份)(共19页).doc》由会员分享,可在线阅读,更多相关《线性表实验报告:针对链式或顺序存储的线性表实现指定的操作(二份)(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验报告的基本内容、格式已经给出,请同学们参考书写。其中,第一项可补充,第二、三项不修改,第四项为可选项,第六项为参考程序,第五、七、八项需自己上机调试程序书写。注意:红色字体为提示内容,大家不要往实验报告上抄。实验一:线性表的顺序存储结构的表示和实验 学生成绩管理系统一、实验目的:通过上机调试程序,充分理解和掌握有关线性表的定义、实现及操作。二、实验环境 Win2003/win xp +Visual C+三、基本要求:利用顺序表来制作一个学生成绩表1、建立头文件,包含数据类型定义和基本操作。2、建立程序文件利用顺序表表完成一个班级的一个学期的所有课程的管理:能够增加
2、、删除、修改学生的成绩记录。四、简要的需求分析与概要设计(本项为可选项,选作时参考课本P230:“程序的规范说明”书写)五、详细的算法描述:六、实验步骤(以下为参考程序,已经调试运行通过)#include#includeusing namespace std;const int LISTINITSIZE=100;const int LISTINCREMENT=10;struct studentchar no20;char name20;int english;int math;typedef student elemtype;struct sqlistelemtype *elem;int le
3、ngth;int listsize;int incrementsize;/初始化顺序表lvoid initlist(sqlist &l,int maxsize=LISTINITSIZE,int incresize=LISTINCREMENT)l.elem=new elemtypemaxsize;l.length=0;l.listsize=maxsize;l.incrementsize=incresize;/当线性表空间不足时,进行扩容操作void increment(sqlist &l)elemtype *a=new elemtypel.listsize+l.incrementsize;for
4、(int i=0;il.length ;i+)ai=l.elemi;delete l.elem;l.elem=a;l.listsize+=l.incrementsize;/在第i个元素之前插入元素evoid insertlist(sqlist &l,int i,elemtype e)/判断i的合法性1=i=l.length+1 if(il.length +1)cout=i-1;j-)l.elem j+1=l.elem j;/插入元素e到第i个元素之前l.elem i-1=e;/修改顺序表的长度l.length +;/输出线性表中指定元素evoid outputelem(elemtype e)
5、cout学号:e.no 姓名:e.name 英语:e.english 数学:e.math endl;/输出整个线性表void outputlist(sqlist l)for(int i=0;il.length ;i+) outputelem(l.elem i);/在顺序表l中删除第i个元素,用e带回其值写到此处了void deletelist(sqlist &l,int i,elemtype &e)/判断i值的合法性1=i=l.lengthif(il.length )couti值不合法!;exit(0);/取被删的元素置于e中e=l.elem i-1;/移动元素for(int j=i;jl.l
6、ength ;j+)l.elem j-1=l.elem j;/修改顺序表的长度l.length -;/根据学号查找学生的位序int locateelembyno(sqlist l,elemtype e)for(int i=0;il.length ;i+)if(strcmp(l.elem i.no ,e.no)=0)return i+1;return 0;/根据位序查找学生的信息 elemtype locateelembypos(sqlist l,int i) return l.elem i-1; /将当前顺序表中的信息保存 void save(sqlist l) ofstream out; o
7、ut.open (scorefile,ios:binary); for(int i=0;il.length;i+) out.write(char *)&l.elemi,sizeof student); out.close (); / 读取scorefile文件中的数据到顺序表l中,如果文件不存在,则创建该文件 void openorcreate(sqlist &l) /以读取的方式打开指定的文件scorelist,若存在,则将文件中的内容 /读出并插入到顺序表l中,若不存在,则根据用户的选择,决定是否创建该文件 ifstream in; elemtype e; char answer; int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 实验 报告 针对 链式 顺序 存储 实现 指定 操作 19
限制150内