ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:63.09KB ,
资源ID:7207122      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7207122.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构顺序表.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构顺序表.docx

1、数据结构顺序表实验一 顺序表1. 目标要求实现顺序表的所有功能2. 工具/准备工作在开始前,应回顾或复习相关内容。需要一台计算机,其中安装有visual C+。3. 实验分析要实现顺序表的所有功能,主要步骤是建立一系列功能函数,并在主函数中得以实现4. 测试与结论/头文件:#ifndef LIST_H#define LIST_H#include#includeconst int defaultSize=100;templateclass List protected: T *data; int maxsize; int last; void resize(int newsize); publi

2、c: List(int sz=defaultSize);/构造函数 List(List& L);/复制构造函数 List()delete data;/析构函数 int Size()constreturn maxsize;/计算表最大可容纳个数 int Length()constreturn last+1;/计算表长度 int Search(T&x)const;/搜索x在表中位置,函数返回表项序号 int Locate(int i)const;/定位第i个表项,函数返回表项序号 bool getData(int i,T&x)const/取第i个表项的值 if(i0&i0&i=last+1) da

3、tai-1=x; bool Insert(int i,T&x);/插入x在第i个表项之后 bool Remove(int i,T&x);/删除第i个表项,通过x返回表项的值 bool IsEmpty()/判断空否,空则返回true;否则返回false return(last=-1)?true:false; bool IsFull()/判断满否 return (last=maxsize-1)?true:false; void input();/输入 void output();/输出 Listoperator=(List&L);/表整体赋值 ;#endiftemplateList:List(in

4、t sz)/构造函数 if(sz0) last=-1; maxsize=sz; data=new Tmaxsize; if(data=NULL) cerr存储分配错误!endl; exit(1); templateList:List(List& L)/复制构造函数 maxsize=L.Size(); last=L.Length()-1; T value; data=new Tmaxsize;/创建顺序表存储数组 if(data=NULL) cerr存储分配错误!endl; exit(1); for(int i=1;i=last+1;i+) L.getData(i,value); datai-1

5、=value; templatevoid List:resize(int newsize)/扩大数组空间 if(newsize=0) cerr无效的数组大小endl; if(newsize!=maxsize) T *newarray=new Tnewsize; if(newarray=NULL) cerr存储分配错误!endl; exit(1); int n=last+1; T *srcptr=data;/源数组首地址 T *destptr=newarray;/目的数组首地址 while(n-) *destptr-=*srcptr-; delete data; data=newarray; m

6、axsize=newsize; templateint List:Search(T&x)const/搜索x在表中位置,函数返回表项序号 for(int i=0;i=last;i+) if(datai=x) return i+1;/成功搜索 return 0;/失败搜索 ;templateint List:Locate(int i)const/定位第i个表项,函数返回表项序号 if(i=1&ilast+1) return i; else return 0; ;templatebool List:Insert(int i,T&x)/插入x在第i个表项之后 if(last=maxsize-1) re

7、turn false;/表满,不能输入 if(ilast+1) return false;/参数i不合理,不能插入 for(int j=last;j=i;j-) dataj+1=dataj; datai=x; last+; return true; ;templatebool List:Remove(int i,T&x)/删除第i个表项,通过x返回表项的值 if(last=-1) return false;/表空,不能删除 if(ilast+1) return false;/参数i不合理,不能删除 x=datai-1; for(int j=i;j=last;j+) dataj-1=dataj;

8、 last-; return true; ;templatevoid List:input()/输入 coutlast; last=last-1; if(last=maxsize-1) break; cout表元素个数输入错误,范围不能超过maxsize-1:; for(int i=0;i=last;i+) cout请输入第i+1个元素datai; ;templatevoid List:output()/输出 cout顺序表当前元素最后位置为:last+1endl; for(int i=0;i=last;i+) cout#i+1:dataiendl; ;/主函数#include#include

9、List.husing namespace std;int main() List L1; int x,i; cout*实现输入功能*endl; L1.input(); coutL1输出数据为:endl; L1.output(); cout*endl; cout*实现复制构造函数功能*endl; coutL1输出数据为:endl; L1.output(); List L2(L1); coutL2通过复制构造函数输出数据为:endl; L2.output(); cout*endl; cout*实现搜索函数功能*endl; coutL1数据为:endl; L1.output(); cout请输入要

10、找的数据:x; cout搜索函数输出数据为:L1.Search(x)endl; cout*endl; cout*实现函数定位功能*endl; coutL1数据为:endl; L1.output(); cout请输入要找第几个数据:i; cout定位函数输出数据为:L1.Locate(i)endl; cout*endl; cout*实现函数插入功能*endl; coutL1数据为:endl; L1.output(); cout请输入要插入到第几个位置:i; cout请输入要插入的元素:x; cout插入函数输出数据为:L1.Insert(i,x)endl; L1.output(); cout*endl; cout*实现函数删除功能*endl; coutL1数据为:endl; L1.output(); cout请输入要删除第几个元素:i; L1.Remove(i,x); cout删除数据为:xendl; cout函数删除后输出数据为:xendl; L1.output(); cout*endl; return 0; 结果:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1