实验报告(2014/2015学年第二学期)课程名称数据结构实验名称线性表的基本运算及多项式的算术运算实验时间2015年9月28日指导单位计算机科学与技术系指导教师黄海平学生姓名陈明阳班级学号Q学院(系):实现顺序表和单链表的基本运算,多项式的加法和乘法算术运算。要求:能够正确演示线性表的查找、插入、删除运算。实现多项式的加法和乘法运算操作。二、实验环境(实验设备)VSUALSTUDIO2015三、实验原理及内容LinearlistàseqlistàLA,LB函数调用数据类型如下图源码::#include<iostream>usingnamespacestd;template<classT>classLinearList{public: virtualboolIsEmpty()const=0; virtualintLength()const=0; virtualboolFind(inti,T&x)const=0; virtualintSearch(Tx)const=0; virtualboolInsert(inti,Tx)=0; virtualboolDelete(inti)=0; virtualboolUpdate(inti,Tx)=0; virtualvoidOutput(ostream&out)const=0;protected: intn;};:#include""template<classT>classSeqList:publicLinearList<T>{public: SeqList(intmSize); ~SeqList(){delete[]elements;} boolIsEmpty()const; intLength()const; boolFind(inti,T&x)const; intSearch(Tx)const; boolInsert(inti,Tx); boolDelete(inti); boolUpdate(inti,Tx); voidOutput(ostream&out)const;private: intmaxLength; T*elements;};template<classT>SeqList<T>::SeqList(intmSize){ maxLength=mSize; elements=newT[maxLength]; n=0;}template<classT>boolSeqList<T>::IsEmpty()const{ returnn==0;}template<classT>intSeqList<T>::Length()const{ returnn;}template<classT>boolSeqList<T>::Find(inti,T&x)const{ if(i<0||i>n-1) { cout<<"outofbounds"<<endl;returnfalse; } x=elements[i]; returntrue;}template<classT>intSeqList<T>::Search(Tx)const{ for(intj=0;j<n;j++) if(elements[j]==x)returnj; return-1;}template<classT>boolSeqList<T>::Insert(inti,Tx){ if(i<-1||i>n-1) { cout<<"outofbounds"<<endl; returnfalse; } if(n==maxLength) { cout<<"overflow"<<endl; returnfalse; } for(intj=n-1;j>i;j--)elements[j+1]=elements[j]; elements[i+1]=x; n++; returntrue;}template<classT>boolSeqList<T>::Delete(inti){ if(i<0||i>n-1) { cout<<"outofbounds"<<endl; returnfalse; } if(!n) { cout<<"overflow"<<endl; returnfalse; } for(intj=i+1;j<n;j--)elements[j-1]=elements[j]; n--; returntrue;}template<classT>boolSeqList<T>::Update(inti,Tx){ if(i<0||i>n-1) {
南邮数据结构实验一 来自淘豆网m.daumloan.com转载请标明出处.