欢迎来到天天文库
浏览记录
ID:38701004
大小:350.50 KB
页数:20页
时间:2019-06-17
《数据结构实验(代码加运行结果)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、集合的差、并运算#include#includeconstintdefaultSize=100;templateclassSeqList{protected:T*date;//存放数组intmaxSize;intlast;voidreSize(intnewSize);//改变数组空间大小public:SeqList(intsz=defaultSize);//构造函数SeqList(SeqList&L);//复制构造函数intSize()const{returnmaxSize;}//计算表最大可容纳表项个数i
2、ntLength()const{returnlast+1;}//计算表长度intSearch(T&x)const;//搜索x在表现中位置intLocate(inti)const;//定义第i个表项,函数返回表项序号boolgetDate(inti,T&x)const//取第i个表项的值{if(i>0&&i<=last+1){x=date[i-1];returntrue;}elsereturnfalse;}voidsetDate(inti,T&x)//修改第i个表项的值{if(i>0&&i<=last+1)date[i-1]=x;}boolInsert(inti,T&x);
3、//插入x在第i个表项后boolRemove(inti,T&x);//删除第i个表项的值boolIsEmpty(){return(last==-1)?true:false;}//判空boolIsFull(){return(last==maxSize-1)?true:false;}//判满voidinput();//invoidoutput();//outSeqListoperator=(SeqList&L);//表整体赋值};template//构造函数SeqList::SeqList(intsz){if(sz>0){maxSize=sz
4、;last=-1;date=newT[maxSize];if(date==NULL){cerr<<"存储分配出错!"<//复制构造函数SeqList::SeqList(SeqList&L){maxSize=L.Size();last=L.Length()-1;Tvalue;date=newT[maxSize];if(date==NULL){cerr<<"存储分配出错!"<5、te[i-1]=value;}};template//改变date数组大小voidSeqList::reSize(intnewSize){if(newSize<=0){cerr<<"无效的数组大小"endl;return;}if(newSize!=maxSize){T*newarray=newT[newSize];if(newarray==NULL){cerr<<"存储分配出错!"<6、ptr++;delete[]date;date=newarray;maxSize=newSize;}};templateintSeqList::Search(T&x)const//搜索x在表项中位置,返回表项序号{for(inti=0;i<=last;i++)if(date[i]==x)returni+1;return0;}templateintSeqList::Locate(inti)const//定位第i个表项,返回表项序号{if(i>=1&&i<=last+1)returni;elsereturn0;};template<7、classT>boolSeqList::Insert(inti,T&x)//插入x在第i个表项之后{if(last=maxSize-1)returnfalse;if(i<08、9、i>maxSize-1)returnfalse;for(intj=last;j>=i;j--)date[j+1]=date[j];date[i]=x;last++;returntrue;};templateboolSeqList::Remove(inti,T&x)//删除第i个表项,并返回表项的值{if(last==-1)re
5、te[i-1]=value;}};template//改变date数组大小voidSeqList::reSize(intnewSize){if(newSize<=0){cerr<<"无效的数组大小"endl;return;}if(newSize!=maxSize){T*newarray=newT[newSize];if(newarray==NULL){cerr<<"存储分配出错!"<6、ptr++;delete[]date;date=newarray;maxSize=newSize;}};templateintSeqList::Search(T&x)const//搜索x在表项中位置,返回表项序号{for(inti=0;i<=last;i++)if(date[i]==x)returni+1;return0;}templateintSeqList::Locate(inti)const//定位第i个表项,返回表项序号{if(i>=1&&i<=last+1)returni;elsereturn0;};template<7、classT>boolSeqList::Insert(inti,T&x)//插入x在第i个表项之后{if(last=maxSize-1)returnfalse;if(i<08、9、i>maxSize-1)returnfalse;for(intj=last;j>=i;j--)date[j+1]=date[j];date[i]=x;last++;returntrue;};templateboolSeqList::Remove(inti,T&x)//删除第i个表项,并返回表项的值{if(last==-1)re
6、ptr++;delete[]date;date=newarray;maxSize=newSize;}};templateintSeqList::Search(T&x)const//搜索x在表项中位置,返回表项序号{for(inti=0;i<=last;i++)if(date[i]==x)returni+1;return0;}templateintSeqList::Locate(inti)const//定位第i个表项,返回表项序号{if(i>=1&&i<=last+1)returni;elsereturn0;};template<
7、classT>boolSeqList::Insert(inti,T&x)//插入x在第i个表项之后{if(last=maxSize-1)returnfalse;if(i<0
8、
9、i>maxSize-1)returnfalse;for(intj=last;j>=i;j--)date[j+1]=date[j];date[i]=x;last++;returntrue;};templateboolSeqList::Remove(inti,T&x)//删除第i个表项,并返回表项的值{if(last==-1)re
此文档下载收益归作者所有