欢迎来到天天文库
浏览记录
ID:22464612
大小:88.17 KB
页数:14页
时间:2018-10-29
《空间数据结构上机实习报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《空间数据结构》测绘08级上机报告姓名**班级**学号07082967时间2009年1月得分环境与测绘学院上机练习2顺序表的定义与应用【实验目的】熟练掌握顺序表的定义与应用,通过上机实践加深对顺序表概念的理解,训练学生利用顺序表来解决具体应用问题的实践能力。【实验内容】设有两个整数类型的顺序表A(有m个元素)和B(有n个元素),其元素均从小到大排列。试编写一个函数,将这两个顺序表合并成一个顺序表C,要求C的元素也从小到大排列。【实验要求】1.给出顺序表的类定义。2.实现顺序表的重要成员函数。3.数据输
2、入、输出界面友好,符合人们常规思维习惯。程序正确执行;4.独立思考,认真上机。【代码】#include#includeconstintdefaultSize=100;templateclassSeqList{protected:T*data;intmaxSize;intLast;voidreSize(intnewSize);public:SeqList(intsz=defaultSize);SeqList(SeqList&L);~Seq
3、List(){delete[]data;}intSize()const{returnmaxSize;}intLength()const{returnLast+1;}intSearch(T&x)const;intLocate(inti)const;TgetData(inti)const;boolsetData(inti,T&x){if(i>0&&i<=Last+1)data[i-1]=x;}boolInsert(inti,T&x);boolRemove(inti,T&x);boolIsEmpty(){r
4、eturn(Last==-1)?true:false;}boolIsFull(){return(Last==maxSize-1)?true:false;}voidinput();voidoutput();SeqListoperator=(SeqList&L);friendvoidbubble(SeqList&L);friendvoidhebing(SeqList&LA,SeqList&LB);};templateSeqList::SeqL
5、ist(intsz){if(sz>0){maxSize=sz;Last=-1;data=newT[maxSize];if(data==NULL){cerr<<"存储分配错误"<SeqList::SeqList(SeqList&L){maxSize=L.Size();Last=L.Length()-1;data=newT[maxSize];if(data==NULL){cerr<<"存储分配错误"<6、}for(inti=1;i<=Last+1;i++)data[i-1]=L.getData(i);}templateTSeqList::getData(inti)const{if(i<17、8、i>Last+1){cerr<<"存储分配错误"<voidSeqList::reSize(intnewSize){if(newSize<=0){cerr<<"无效的数组大小"<9、l;return;}if(newSize!=maxSize){T*newarray=newT[newarray];if(newarray=NULL){cerr<<"存储分配错误"<intSeqList<10、T>::Search(T&x)const{for(inti=0;i<=Last;i++)if(data[i]==x)returni+1;return0;}templateintSeqList::Locate(inti)const{if(i>=1&&i<=Last+1)returni;elsereturn0;}templateboolSeqList::Insert(inti,T&x){if(Last==maxSi
6、}for(inti=1;i<=Last+1;i++)data[i-1]=L.getData(i);}templateTSeqList::getData(inti)const{if(i<1
7、
8、i>Last+1){cerr<<"存储分配错误"<voidSeqList::reSize(intnewSize){if(newSize<=0){cerr<<"无效的数组大小"<9、l;return;}if(newSize!=maxSize){T*newarray=newT[newarray];if(newarray=NULL){cerr<<"存储分配错误"<intSeqList<10、T>::Search(T&x)const{for(inti=0;i<=Last;i++)if(data[i]==x)returni+1;return0;}templateintSeqList::Locate(inti)const{if(i>=1&&i<=Last+1)returni;elsereturn0;}templateboolSeqList::Insert(inti,T&x){if(Last==maxSi
9、l;return;}if(newSize!=maxSize){T*newarray=newT[newarray];if(newarray=NULL){cerr<<"存储分配错误"<intSeqList<
10、T>::Search(T&x)const{for(inti=0;i<=Last;i++)if(data[i]==x)returni+1;return0;}templateintSeqList::Locate(inti)const{if(i>=1&&i<=Last+1)returni;elsereturn0;}templateboolSeqList::Insert(inti,T&x){if(Last==maxSi
此文档下载收益归作者所有