1 / 16
文档名称:

C++数据结构_线性顺序结构.doc

格式:doc   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C++数据结构_线性顺序结构.doc

上传人:xxj16588 2016/1/28 文件大小:0 KB

下载得到文件列表

C++数据结构_线性顺序结构.doc

文档介绍

文档介绍:C++线性顺序结构1,这是一个用C++实现的采用动态数组为基础的线性顺序表,栈,和循环队列。2,同时采用了模板,可以实现对不同的基本数据类型进行操作。3,因为VC++,所以类的接口和实现全放在头文件中。4,此文档中的内容全部通过VC++,对它们也做了一些简单的测试,但类的方法中没有包含对”输入的数据的类型”是否合法进行检测,所以在输入数据时要注意。5,因为本人只是学生,此文档中的内容只能用于交流和参考。其中很多算法的可靠性和时空复杂度并没有进行测试。6,其中顺序表和栈是以动态数组为基础,并以10为单位(即每次可以动态的增加或减少10个元素的内存)。7,队列采用的是循环队列,因为以数组为基础必须采用循环队列,不然每次入队或出队就要对整个队列进行移动数据,这样会造成效率低下。8,因为是循环队列,所以就不方便使用动态数组进行增加或减少元素。9,如果其中有算法效率低下,使用不合理请多包含和指正,同时也希望大家学有所成。10,以下是源文件中的内容,。//。#ifndefSequence_h#defineSequence_h#include<iostream>#include<iomanip>usingnamespacestd;constintlon=10;//表的初始长度和每次自动增长和自动减少的长度template<classTey>classSequence//动态顺序表类{public:Sequence();//创建动态顺序表~Sequence(){delete[]phod;}//释放动态内存voidOutput();//输出表中有效元素内容intNumber();//返回当前有效元素个数intTotal_length();//返回当前顺序表总长boolPlus_Tail(Teym);//向表尾部增加数据boolInsert_Bit(intn,Teym);//在指定n位置插入数据mboolInsert_data(Teyx,Teym);//在指定数据为x的第一个位置插入数据mboolInsert_All(Teyx,Teym);//在指定数据为x的所有位置插入数据mTeySearch_data(intn);//返回指定位置的数据intSearch_Number(Teym);//查找指定数据m在表中的总个数intSearch_Bit(Teym);//返回指定数据m在表中第一个元素的位置,失败返回-1boolDelete_Bit(intn);//删除指定位置n的元素boolDelete_All(Teym);//删除指定数据m在表中的所有元素boolModify_Bit(intn,Teym);//将指定位置为n的元素数据修改为mboolModify_All(Teyx,Teym);//将指定数据为x在表中的所有元素修改为mvoidSort_l();//对表元素进行升序voidSort_Drop();//对表元素进行降序boolReplication(Sequence<Tey>&Table);//将表中数据复制给Table表boolMerge_And(Sequence<Tey>&Table);//将Table表中的数据按并集合并到顺序表中boolMerge_Pay(Sequence<Tey>&Table);//将Table表中的数据按交集合并到顺序表中boolMerge_Dif(Sequence<Tey>&Table);//将Table表中的数据按差集合并到顺序表中boolIncreasing();//自动增长顺序表函数boolReduction();//自动减短顺序表函数boolFilter();//过滤表中重复数据voidEmpty();//清空表private:Tey*phod;//表指针intTotal,length;//Total表示表的总长,length表示有效元素个数.};template<classTey>Sequence<Tey>::Sequence()//创建动态顺序表{phod=newTey[lon];//初始表长了lon(即10)个元素if(phod)//判断动态内存分配是否成功,如果成功就初始化数据成员{Total=lon;//初始总长度length=0;//初始有效元素个数}else{//如果动态表创建失败就输出提示,并结束程序。cout<<"动态顺序表创建失败!"<<endl;cout<<"程序被终止!!!"<<endl;exit(-1);}}template<classTey>intSequence<Tey>::Number()//返回当前有效元素个数{returnlength;}template<classTey>int