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

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告 线性表的顺序存储结构

PAGE PAGE 1 **大学实验报告 学院: 专业: 班级: 姓名 学号 实验组 实验时间 指导教师 成绩 实验项目名称 实验一 线性表的顺序存储结构 实验目的 1. 熟练掌握线性表的基本操作在顺序存储和链式存储上的实现; 2. 以线性表的各种操作(建立、插入、删除等)的实现为重点; 3. 掌握线性表的动态分配顺序存储结构的定义和基本操作的实现; 实验要求 1、 独立完成实验,并认真撰写实验报告 2、分析试验中出现的问题,并找出原因 实验原理 线性表顺序存储结构的初始化、遍历、插入、删除算法的程序编写及运用 实验仪器 运行Visual c++的微机一台 实验步骤 分别编写线性表顺序结构的初始化、遍历、插入、删除的程序 编写一个主程序来调用初始化、遍历、插入、删除函数 运行程序,并记录运行过程中出现的问题,进行分析和解决 撰写实验报告 实验内容 1.输入一组整型数据,建立顺序表。 2.实现该线性表的遍历。 3.实现该线性表的删除。 4、实现该线性表的插入。 5、编写一个主函数,调试上述算法。 实验数据 程序: #includeiostream.h #includestdlib.h typedef int Elemtype; struct list{ Elemtype *elem; int size; int maxsize; }; void initlist(list l) //线性表的初始化 { cout线性表的初始化!endl; l.maxsize=10; l.elem=new Elemtype[l.maxsize]; if(l.elem==NULL) { cout动态分配空间失败!endl; return; } l.size=0; } bool insertlist(list l,Elemtype item,int pos) //在线性表中插入元素 { //cout对任意的线性表中任意大位置插入任意的元素endl; if(pos1||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分配空间不成功!endl; return false; } l.maxsize=2*l.maxsize; } for(int i=l.size-1;i=pos-1;i--) {l.elem[i+1]=l.elem[i];} l.elem[pos-1]=item; l.size++; return true; } void traverselist(list l) //线性表遍历 { for(int i=0;il.size;i++) coutl.elem[i]endl; } bool deletelist(list l,int pos) //删除线性表中的元素 { cout删除线性表中的任意元素endl; if(pos0||posl.size) { coutpos值无效!endl; return false; } if(l.size==0) { cout线性表为空表!endl; return false; } for(int i=pos;il.size;i++) {l.elem[i-1]=l.elem[i];} l.size--; if(float(l.size)/l.maxsize0.4l.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.elem[i] ; } } void main() {

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档