实验报告 线性表的顺序存储结构.doc

上传人:仙人指路1688 文档编号:2392204 上传时间:2023-02-17 格式:DOC 页数:4 大小:54KB
返回 下载 相关 举报
实验报告 线性表的顺序存储结构.doc_第1页
第1页 / 共4页
实验报告 线性表的顺序存储结构.doc_第2页
第2页 / 共4页
实验报告 线性表的顺序存储结构.doc_第3页
第3页 / 共4页
实验报告 线性表的顺序存储结构.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验报告 线性表的顺序存储结构.doc》由会员分享,可在线阅读,更多相关《实验报告 线性表的顺序存储结构.doc(4页珍藏版)》请在三一办公上搜索。

1、*大学实验报告学院: 专业: 班级:姓名学号实验组实验时间指导教师成绩实验项目名称实验一 线性表的顺序存储结构实验目的1. 熟练掌握线性表的基本操作在顺序存储和链式存储上的实现;2. 以线性表的各种操作(建立、插入、删除等)的实现为重点;3. 掌握线性表的动态分配顺序存储结构的定义和基本操作的实现;实验要求1、 独立完成实验,并认真撰写实验报告2、分析试验中出现的问题,并找出原因实验原理线性表顺序存储结构的初始化、遍历、插入、删除算法的程序编写及运用实验仪器运行Visual c+的微机一台实验步骤1、 分别编写线性表顺序结构的初始化、遍历、插入、删除的程序2、 编写一个主程序来调用初始化、遍历

2、、插入、删除函数3、 运行程序,并记录运行过程中出现的问题,进行分析和解决4、 撰写实验报告实验内容1输入一组整型数据,建立顺序表。2实现该线性表的遍历。3实现该线性表的删除。4、实现该线性表的插入。5、编写一个主函数,调试上述算法。实验数据程序:#include#includetypedef int Elemtype;struct listElemtype *elem;int size;int maxsize; void initlist(list &l) /线性表的初始化cout线性表的初始化!endl;l.maxsize=10;l.elem=new Elemtypel.maxsize;i

3、f(l.elem=NULL)cout动态分配空间失败!endl; return;l.size=0;bool insertlist(list &l,Elemtype item,int pos) /在线性表中插入元素 /cout对任意的线性表中任意大位置插入任意的元素endl;if(posl.size+1)cout插入的位置非法!endl; return false;if(l.size=l.maxsize)int k=sizeof(Elemtype); l.elem=(Elemtype *)realloc(l.elem,2*l.maxsize*k); if(l.elem=NULL) cout分配空

4、间不成功!=pos-1;i-)l.elemi+1=l.elemi;l.elempos-1=item;l.size+;return true; void traverselist(list l) /线性表遍历 for(int i=0;il.size;i+) coutl.elemiendl; bool deletelist(list &l,int pos) /删除线性表中的元素 cout删除线性表中的任意元素endl; if(posl.size) coutpos值无效!endl; return false; if(l.size=0) cout线性表为空表!endl; return false; f

5、or(int i=pos;il.size;i+) l.elemi-1=l.elemi; l.size-; if(float(l.size)/l.maxsize10) int k=sizeof(Elemtype); l.elem=(Elemtype *)realloc(l.elem,l.maxsize*k/2); l.maxsize=l.maxsize/2; return true; void display(list l) coutl.sizeendl; coutl.maxsizeendl; for(int i=0;il.size;i+) cout输出第i+1个元素endl; coutl.el

6、emi ; void main()int a5;int i;Elemtype x;list k;cout请输入线性表元素:endl;for(i=0;iai;coutendl;initlist(k);traverselist(k);for(i=0;i5;i+) insertlist(k,ai,i+1);traverselist(k);cout插入一个位置:x;coutendl;insertlist(k,0,x);traverselist(k);cout插入一个元素:x;coutendl;insertlist(k,x,3);traverselist(k);coutx; if(deletelist(k,x)cout删除成功!endl;else cout删除失败endl;traverselist(k);运行结果:实验总结1、 线性表的初始化为一个空表时,要明确给空(l.list=NULL)2、 线性表的插入、删除操作前都要进行非法位置的剔除3、 插入、删除等操作非法时,一定要有返回值(return false),否则操作会出现错误4、 程序编写过程中,要注意细节部分,减少错误的产生,减少调试时间指导教师意见签名: 年 月 日注:各学院可根据教学需要对以上栏木进行增减。表格内容可根据内容扩充。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号