- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
《空间数据结构基础》
上机实验报告(2010级)
姓名
班级
学号
环境与测绘学院
1.顺序表的定义与应用(课本P85习题)
【实验目的】
熟练掌握顺序表的定义与应用,通过上机实践加深对顺序表概念的理解。
【实验内容】
设有两个整数类型的顺序表A(有m个元素)和B(有n个元素),其元素均从小到大排列。试编写一个函数,将这两个顺序表合并成一个顺序表C,要求C的元素也从小到大排列。
【主要代码】
#includeiostream.h//定义在头文件“SeqList.h”中
#includestdlib.h
constintdefaultSize=100;
templateclassT
classSeqList{
protected:
T*data;//存放数组
intmaxSize;//最大可容纳表象的项数
intLast;//当前已存表象的项数
voidreSize(intnewSize);//改变data数组空间大小
public:
SeqList(intsz=defaultSize);
SeqList(SeqListTL);
~SeqList(){delete[]data;}
intSize()const{returnmaxSize;}
intLength()const{returnLast+1;}
intSearch(Tx)const;
intLocate(inti)const;
TgetData(inti)const;
boolsetData(inti,Tx)
{if(i0i=Last+1)data[i-1]=x;}
boolInsert(inti,Tx);
boolRemove(inti,Tx);
boolIsEmpty()
{return(Last==-1)?true:false;}
boolIsFull()
{return(Last==maxSize-1)?true:false;}
voidinput();
voidoutput();
SeqListToperator=(SeqListTL);
friendvoidrank(SeqListintL);
friend voidhebing(SeqListintLA,SeqListintLB);
};
//构造函数,通过指定参数sz定义数组的长度
templateclassT
SeqListT::SeqList(intsz){
if(sz0){
maxSize=sz;
Last=-1;
data=newT[maxSize];
if(data==NULL)
{cerr存储分配错误endl;exit(1);}
}
}
//复制构造函数,用参数表中给出的已有顺序表初始化新建的顺序表
templateclassT
SeqListT::SeqList(SeqListTL){
maxSize=L.Size();
Last=L.Length()-1;
data=newT[maxSize];
if(data==NULL)
{cerr存储分配错误endl;exit(1);}
for(inti=1;i=Last+1;i++)
data[i-1]=L.getData(i);
}
//用于取第i个表项的值
templateclassT
TSeqListT::getData(inti)const{
if(i1||iLast+1){cerr存储分配错误endl;exit(1);}
elsereturndata[i-1];
}
//私有函数,扩充顺序表的存储空间大小,新数组的元素个数为newsize
templateclassT
voidSeqListT::reSize(intnewSize)
{
if(newSize=0)
{cerr无效的数组大小endl;return;}
if(newSize!=maxSize)
{T*newarray=newT[newarray];
if(newarray=NULL)
{cerr存储分配错误endl;exit(1);}
intn=Last+1;
T*srcptr=data;
T*destptr=newarray;
while(n--)*destptr
您可能关注的文档
- 移动通信技术基础教程.ppt
- 移动通信技术基础试题含答案.docx
- 移动通信系统介绍.pptx
- 移民行业市场分析分析报告.docx
- 程序文件之向监管机构报告控制程序21.doc
- 程序文件封面(多个).doc
- 程序文件封面.doc
- 税务师事务所对上市公司的税务审计.docx
- 税务系统信息安全策略.doc
- 税务行政处罚八项基本原则.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)