欢迎来到天天文库
浏览记录
ID:61426902
大小:248.50 KB
页数:12页
时间:2021-01-29
《线性表实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据结构实验报告实习题名:线性表的基本运算以及多项式的算术运算班级:B姓名:陈何渊学号B日期:2013.10.7顺序表的基本运算:一、问题描述实现单链表的定义和基本操作。实现顺序表的逆置。删除表中所有元素值等于x的元素。若表中存在这样的元素,删除之,函数返回true;否则返回false。二、概要设计如下图显示了名为SeqList.dsw的工程,包含3个文件,包括linearlist.h,list.h和SeqList.cpp。其中linearlist.h和list.h是程序头文件。List.h是linearlist.h
2、的派生类来实现线性表的基本运算。SeqList.cpp是程序运行文件。而主函数代码如图所示:一、详细设计1.类和类的层次结构程序使用两个类,即linearlist.h和list.h和一个主函数main。其中linearlist.h是公公接口。模板类list.h是linearlist.h的派生类,实现了顺序表的所有接口函数,同时也包括了Reverse()和DeleteX()函数。而main函数包含了list.h从而实现了单链表的基本运算。如下图是linearlist.h和list.h的实现部分。1.核心算法对于函数vo
3、idReverse();首先申请一个临时变量temp,然后数组从下标为零到下标【n/2】遍历,通过中间的临时变量temp,将下标为j和下标为n-j-1两个数组元素互换而达到顺序表逆置的目的。voidReverse(){Ttemp;for(intj=0;j4、nts[i]==x控制条件来实现以下操作:如果为真,则后继元素前移一个,否则继续遍历。boolDeleteX(constT&x){intk=n;for(inti=0;iint5、SeqList::Search(Tx)const{for(intj=0;jboolSeqList::Insert(inti,Tx){if(1<-16、7、i>n-1){cout<<"OutofBounds"<i;j--)e8、lements[j+1]=elements[j];elements[i+1]=x;n++;returntrue;}templateboolSeqList::Delete(inti){if(!n){cout<<"UnderFlow"<9、10、i>n-1){cout<<"OutofBounds"<11、;}一、测试结果一、实习小结编写代码的过程中应该书写规范以减少错误,同时得理解线性表的相关运算和它的存取结构,调试过程中的不断更正错误。多项式的算术操作:一、问题描述设计带表头结点的单链表表示多项式实现输入并建立多项式,输出多项式和多项式运算。重载*运算符。以线性表来描述一元多项式,存储结构采用单链表,每个结点存储的多项式中某一项的系数和指数,建立单链表的元素按指数递减有序排列。二、概要设计如下图显示了名为Polynominal.dsw的工程,包含了2个文件,包括Polynominal.cpp和Polynominal12、.h。Polynominal.h是该程序头文件,Polynominal.cpp是其运行文件。其中Polynominal是Term的友元类。而主函数代码如图所示:一、详细设计1.类及其类与类的关系Polynominal.h中包含了两个类,一个是Term类,一个是Polynominal类。其中Polynominal类是Term类的友元类。第一个类是
4、nts[i]==x控制条件来实现以下操作:如果为真,则后继元素前移一个,否则继续遍历。boolDeleteX(constT&x){intk=n;for(inti=0;iint
5、SeqList::Search(Tx)const{for(intj=0;jboolSeqList::Insert(inti,Tx){if(1<-1
6、
7、i>n-1){cout<<"OutofBounds"<i;j--)e
8、lements[j+1]=elements[j];elements[i+1]=x;n++;returntrue;}templateboolSeqList::Delete(inti){if(!n){cout<<"UnderFlow"<9、10、i>n-1){cout<<"OutofBounds"<11、;}一、测试结果一、实习小结编写代码的过程中应该书写规范以减少错误,同时得理解线性表的相关运算和它的存取结构,调试过程中的不断更正错误。多项式的算术操作:一、问题描述设计带表头结点的单链表表示多项式实现输入并建立多项式,输出多项式和多项式运算。重载*运算符。以线性表来描述一元多项式,存储结构采用单链表,每个结点存储的多项式中某一项的系数和指数,建立单链表的元素按指数递减有序排列。二、概要设计如下图显示了名为Polynominal.dsw的工程,包含了2个文件,包括Polynominal.cpp和Polynominal12、.h。Polynominal.h是该程序头文件,Polynominal.cpp是其运行文件。其中Polynominal是Term的友元类。而主函数代码如图所示:一、详细设计1.类及其类与类的关系Polynominal.h中包含了两个类,一个是Term类,一个是Polynominal类。其中Polynominal类是Term类的友元类。第一个类是
9、
10、i>n-1){cout<<"OutofBounds"<11、;}一、测试结果一、实习小结编写代码的过程中应该书写规范以减少错误,同时得理解线性表的相关运算和它的存取结构,调试过程中的不断更正错误。多项式的算术操作:一、问题描述设计带表头结点的单链表表示多项式实现输入并建立多项式,输出多项式和多项式运算。重载*运算符。以线性表来描述一元多项式,存储结构采用单链表,每个结点存储的多项式中某一项的系数和指数,建立单链表的元素按指数递减有序排列。二、概要设计如下图显示了名为Polynominal.dsw的工程,包含了2个文件,包括Polynominal.cpp和Polynominal12、.h。Polynominal.h是该程序头文件,Polynominal.cpp是其运行文件。其中Polynominal是Term的友元类。而主函数代码如图所示:一、详细设计1.类及其类与类的关系Polynominal.h中包含了两个类,一个是Term类,一个是Polynominal类。其中Polynominal类是Term类的友元类。第一个类是
11、;}一、测试结果一、实习小结编写代码的过程中应该书写规范以减少错误,同时得理解线性表的相关运算和它的存取结构,调试过程中的不断更正错误。多项式的算术操作:一、问题描述设计带表头结点的单链表表示多项式实现输入并建立多项式,输出多项式和多项式运算。重载*运算符。以线性表来描述一元多项式,存储结构采用单链表,每个结点存储的多项式中某一项的系数和指数,建立单链表的元素按指数递减有序排列。二、概要设计如下图显示了名为Polynominal.dsw的工程,包含了2个文件,包括Polynominal.cpp和Polynominal
12、.h。Polynominal.h是该程序头文件,Polynominal.cpp是其运行文件。其中Polynominal是Term的友元类。而主函数代码如图所示:一、详细设计1.类及其类与类的关系Polynominal.h中包含了两个类,一个是Term类,一个是Polynominal类。其中Polynominal类是Term类的友元类。第一个类是
此文档下载收益归作者所有