版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.PAGE :.;精品课程建立资料基于模板技术的多层次可视化数据构造实验环境研讨可视化数据构造实验环境VCDS v1.0编程实验C+版编号:20050202A参考手册合肥工业大学课程组2005年7月15日 DSSTL类库1.1 DSSTL类库概述数据构造根底类模板库。这是实验环境所用到的最重要也是最根底的类库,其中类名全部以大写字母D开场,在本文中将此类库简称为D类库。D类库全部以规范C+言语编写,适宜于一切规范C+编译器且不依赖第三方类库。它定义了每种数据构造的最根本的物理实现部分,提供了数据构造最根本的逻辑操作,如堆栈的入栈和出栈,并采用了C+输入输出流机制对数据构造进展存储。在数据层的设
2、计中表达了C+的虚承继与承继的特点,采用模板技术实现多种数据类型的代码封装,大大减少了代码的冗余,整个数据层的设计学习VC中的MFC类库的特点到达了构造明确,层次明晰,类与类之间的关系严密。由于整个软件中的数据构造较多有八大模块,为了很好的实现类的层次架构,设计过程中设置了数据层基类DObject,然后根据详细模块设置相应的类层次,其构造框架见附录一。1.2 DObject DOject是数据构造规范摸班类库DSSTL中一切类的基类,定义了许多公用的虚函数。这些虚函数有相当一部分是纯虚函数,因此无法直接运用DOject来声明对象。常用的方法是运用DOject指针。 1.2.1 类层次关系正像前
3、面引见的那样,DObject是整个数据层的基类,包含着各个模块的公共操作接口,是一个虚类。1.2.2 类成员virtual void Output(ostream& out) const;流输出函数,保管类中数据virtual void Input(istream& in);流输入函数,读取数据virtual void Save(char* fname) const;将数据保管到文件中virtual void Load(char* fname);从文件中取出数据1.3线性表 1.3.1 DListDList是线性表逻辑类。它是详细存储类型线性表的基类,同样它内部封装着底层详细的线性表的公共操作
4、接口。 1.3.1.1类层次关系DObjectDList相关类:DObject头文件:DList.h 成员阐明SetNull原型:void SetNull()用法:去除线性表内容,无前往值。参数:无例如: #include “DList.hvoid main() Dlist list ;list.SetNull();输出:无RemoveAll原型:virtual void RemoveAll ()用法:将线性表中的数据全部移除,无前往值参数:无例如:#include “DList.hvoid main() Dlist list ;list.RemoveAll();输出:无IsEmpty原型:v
5、irtual bool IsEmpty ()const用法:判别线性表能否为空,前往类型为布尔型参数:无例如:#include “DList.hvoid main() Dlist list ;list. IsEmpty ();输出:ture或着falseLength原型:virtual int Length ()const用法:判别线性表的长度,前往值为整型参数:无例如:#include “DList.hvoid main() Dlist list ;list. Length ();输出:整型数值Search原型:virtual int Search (const T&x)const用法:在线
6、性表中查找元素x,前往值为整型参数:模板类型参数例如:#include “DList.hvoid main() Dlist list ;list. Search (23);输出:在线性表中查到数据23所在的位置,查不到时前往-1。Insert原型:virtual void Insert( int k, const T&x)用法:在线性表中第k个位置插入元素x,无前往值参数:模板类型参数例如:#include “DList.hvoid main() Dlist list ;list. Insert(2,56);输出:无Delete原型:virtual void Delete (int k, T&
7、x)用法:删除线性表中的第k个元素,将删除的元素放到变量x中,前往值无参数:模板类型参数可以是整型,字符型,双精度类型,字符串类型等。例如:#include “DList.hvoid main() Dlist list ;list. Delete(2,35);输出:无 1.3.2 DListSeqDListSeq是线性表模板类,此类命名规那么是由于存储构造是顺序表构造。它是线性表的详细实现的类。1.3.2.1类层次关系DOjectDListDListSeq相关类:Doject,DList头文件:DListSeq.h1.3.2.2成员阐明SetNull原型:void SetNull()用法:去除
8、线性表内容,无前往值。参数:无例如: #include “DListSeq.hvoid main() DlistSeq listseq ;listseq.SetNull();输出:无参阅:DList:SetNullRemoveAll原型:void RemoveAll ()用法:删除顺序表存储的线性表中的一切数据,前往值无参数:无例如:#include “DListSeq.hvoid main() DlistSeq listseq ;listseq.RemoveAll();输出:无参阅:DList:RemoveAllSet原型:void Set( int MaxListSeqSize, bool
9、 copy = true )用法:重新设置顺序表线性表的最大长度,前往值无参数:MaxListSeqSize:设置顺序表存储的线性表的最大长度,布尔变量:copy为true时,将原线性表中的数据拷贝到设置为新长度的线性表中,否那么该线性表清空,最大长度设置为MaxListSeqList例如:#include “DListSeq.hvoid main() DlistSeq listseq ;listseq.Set(10,true);输出:无IsEmpty原型:virtual bool IsEmpty ()const用法:判别线性表能否为空,前往类型为布尔型参数:无例如:#include “DLi
10、stSeq.hvoid main() DlistSeq listSeq ;listSeq. IsEmpty ();输出:ture:线性表空或着false:线性表不为空参阅:DList:IsEmptyLength原型:virtual int Length ()const用法:判别线性表的长度,前往值为整型参数:无例如:#include “DListSeq.hvoid main() DlistSeq listSeq ;listSeq. Length ();输出:整型数值参阅:DList:LengthSearch原型:virtual int Search (const T&x)const用法:在线性
11、表中查找元素x,前往值为整型参数:模板类型参数针对对象建立的类型而确定例如:#include “DListSeq.hvoid main() DlistSeq listSeq ;listSeq. Search (a);输出:在线性表中查到字符型数据a的位置,查找失败时前往-1。Insert原型:virtual void Insert( int k, const T&x)用法:在线性表中第k个位置插入元素x,无前往值参数:模板类型参数:根据建立的对象类型而定例如:#include “DListSeq.hvoid main() DlistSeq listSeq ;listSeq. Insert(6,
12、y);输出:无Delete原型:virtual void Delete (int k, T&x)用法:删除线性表中的第k个元素,将删除的元素放到变量x中,前往值无参数:模板类型参数可以是整型,字符型,双精度类型,字符串类型等。例如:#include “DList.hvoid main() Dlist list ; char x;list. Delete(2,x);输出:无参阅:DList:DeleteGet原型:virtual bool Get( int k, T &x ) const用法:取顺序表存储的线性表中的第k个元素,将该元素放到变量x中,前往值为布尔值参数:第一个参数:表示线性表中的
13、第k个位置,第二个参数模板类型参数可以是整型,字符型,双精度类型,字符串类型等。例如:#include “DListSeq.hvoid main() DlistSeq lisSeq ; char x;list. Get(2,x);输出:true或着falseoperator原型:T &operator( int i )用法:重载运算符,取顺序表存储的线性表中下标是i的元素,前往值为建立对象的数据类型参数:表示线性表中的第i个位置的数据例如:#include “DListSeq.hvoid main() DlistSeq lisSeq ; char x;x = listSeqi;输出:前往第i个
14、数据Output原型:void Output( ostream &out)const用法:将数据以流的方式输出,无前往值参数:out输出流变量。例如:#include “DListSeq.hvoid main() DlistSeq listSeq ; ofstream outFile ( “d:li1.txt) ; listSeq.Output( outFile ) ;输出:无Input原型:void Input( istream &in)用法:将数据以流的方式输入,无前往值参数:in输入流变量。例如:#include “DListSeq.hvoid main() DlistSeq listS
15、eq ; ifstream inFile ( “d:li1.txt) ; listSeq.Input( inFile ) ;输出:无阐明:Input和OutPut两个函数接口普通不在数据层运用,而运用在视化框架中的导入导出操作中。1.4栈1.4.1 DStack1.4.1.1类层次关系DOjectDStack相关类:DOject头文件:DStack.h1.4.1.2成员阐明Push原型:bool Push(T item)=0用法:将数据item 入栈,纯虚函数在子类中实现。前往值为布尔值。参数:入栈数据,类型与建立的对象数据类型一致Pop原型:bool Pop(T &value)=0用法:将栈
16、顶数据出栈放到变量value中,前往值为布尔值。参数:出栈数据所放位置的变量,类型与建立的对象数据类型一致Length原型:int Length() const=0用法:前往栈中数据长度,纯虚函数在子类中实现。前往值:整型。参数:无GetTop原型:T GetTop()=0用法:取栈顶数据,纯虚函数在子类中实现。前往值:前往栈顶数据,数据类型为建立的对象的数据类型。参数:无IsEmpty原型:bool IsEmpty() const用法:判别栈能否为空,纯虚函数在子类中实现。前往值为布尔值。参数:无Clear原型:bool Clear()用法:清空栈,纯虚函数在子类中实现。前往值为布尔值。参数
17、:无GetNodeNum原型:virtual int GetNodeNum() const=0用法:纯虚函数,供在子类中被重载,前往值为整型。参数:无Input原型:virtual void Input( istream &in)=0用法:纯虚函数,供在子类中被重载,前往值无。参数:流输入参数Output原型:virtual void Output( ostream &out)const用法:虚函数,供在子类中被重载,前往值无。参数:流输出参数1.4.2 DstackSeq1.4.2.1类层次关系DOjectDStackDStackSeq相关类:Doject,DStack头文件:DStack.
18、h1.4.1.2成员阐明Push原型:bool Push(T item)用法:将数据item 入栈,前往值为布尔值。参数:入栈数据,类型与建立的对象数据类型一致例如: #include “DStack.hvoid main() DstackSeq stackSeq; Dstring x; Cin x;stackSeq.Push(x);输出:入栈操作胜利前往true,否那么为false参阅:Dstack:PushPop原型:bool Pop(T &value)用法:将栈顶数据出栈放到变量value中,前往值为布尔值。参数:出栈数据所放位置的变量,类型与建立的对象数据类型一致例如: #includ
19、e “DStack.hvoid main() DstackSeq stackSeq; Dstring x; stack.Seq.Pop(x);输出:出栈操作胜利前往true,否那么为false参阅:Dstack:PopLength原型:int Length() const用法:前往栈中数据长度,前往值:整型。参数:无例如: #include “DStack.hvoid main() DstackSeq stackSeq; stack.Seq.Length();输出:栈长度:整型值参阅:DList:Length,DlistSeq:Length,Dstack:LengthGetTop原型:T Ge
20、tTop()用法:取栈顶数据,前往值:前往栈顶数据,数据类型为建立的对象的数据类型。参数:无例如: #include “DStack.hvoid main() DstackSeq stackSeq; Dstring strData; StrData = stackSeq.GetTop();输出:栈顶数据IsEmpty原型:bool IsEmpty() const用法:判别栈能否为空,前往值为布尔值。参数:无例如: #include “DStack.hvoid main() DstackSeq stackSeq; stack.Seq.IsEmpty();输出:false 表示栈不空,否那么为空参
21、阅:DList:IsEmpty, DlistSeq:IsEmpty,Dstack:IsEmptyClear原型:bool Clear()用法:清空栈,前往值为布尔值。参数:无例如: #include “DStack.hvoid main() DstackSeq stackSeq; stackSeq.Clear();输出:前往值为true 表示栈被清空GetNodeNum原型:virtual int GetNodeNum() const用法:获得栈中数据个数,前往值为整型。参数:无例如:#include “DStack.hvoid main() DstackSeq stackSeq; int x
22、; x = stackSeq.GetNodeNum();输出:前往值为true 表示栈被清空参阅:Dstack:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式读入数据,前往值无。参数:流输入参数参阅:DList:Input,DlistSeq:Input,Dstack:InputOutput原型:virtual void Output( ostream &out)const用法:以流的方式保管数据,前往值无。参数:流输出参数参阅:DList:Output,DlistSeq:Output,Dstack:OutputSetData
23、原型:void SetData(T data,int NodeNum)用法:将栈中第NodeNum个数据设置为data值,前往值无。参数:无例如: #include “DStack.hvoid main() DstackSeq stackSeq; stackSeq.SetData(x,stack.Length()-1);输出:无参阅:DList:Inseart, DlistSeq:InseartInput_i原型:void Input_i( int NodeNum,istream &in)用法:以流的方式读入第NodeNum个数据,前往值无。参数:流输入参数Output_i原型:void Ou
24、tput_i( int NodeNum,ostream &out)用法:以流的方式取出第NodeNum个数据,前往值无。参数:流输出参数1.4.3DstackLink1.4.3.1类层次关系DOjectDStackDStackLink相关类:Doject,DStack头文件:DStack.h1.4.3.2成员阐明Push原型:bool Push(T item)用法:将数据item 入栈,前往值为布尔值。参数:入栈数据,类型与建立的对象数据类型一致例如: #include “DStack.hvoid main() DstackLink *stackLink; Dstring x; Cin x;S
25、tackLink-Push(x);输出:入栈操作胜利前往true,否那么为false参阅:Dstack:Push, DstackSeq:PushPop原型:bool Pop(T &value)用法:将栈顶数据出栈放到变量value中,前往值为布尔值。参数:出栈数据所放位置的变量,类型与建立的对象数据类型一致例如: #include “DStack.hvoid main() DstackLink* stackLink; Dstring x; stack.Link-Pop(x);输出:出栈操作胜利前往true,否那么为false参阅:Dstack:Pop, DstackSeq:PopLength原
26、型:int Length() const用法:前往栈中数据长度,前往值:整型。参数:无例如: #include “DStack.hvoid main() DstackLink * stackLink; stack.Link-Length();输出:栈长度:整型值参阅:DList:Length,DlistLink:Length,Dstack:Length, DstackSeq:LengthGetTop原型:T GetTop()用法:取栈顶数据,前往值:前往栈顶数据,数据类型为建立的对象的数据类型。参数:无例如: #include “DStack.hvoid main() DstackLink*
27、stackLink; Dstring strData; StrData = stackLink-GetTop();输出:栈顶数据参阅:DstackSeq:GetTopIsEmpty原型:bool IsEmpty() const用法:判别栈能否为空,前往值为布尔值。参数:无例如: #include “DStack.hvoid main() DstackLink* stackLink; stack.Link-IsEmpty();输出:false 表示栈不空,否那么为空参阅:DList:IsEmpty, DlistLink:IsEmpty,Dstack:IsEmpty, DstackSeq:IsEm
28、ptyClear原型:bool Clear()用法:清空栈,前往值为布尔值。参数:无例如: #include “DStack.hvoid main() DstackLink* stackLink; stackLink-Clear();输出:前往值为true 表示栈被清空参阅:DstackSeq:ClearGetNodeNum原型:virtual int GetNodeNum() const用法:获得栈中数据个数,前往值为整型。参数:无例如:#include “DStack.hvoid main() DstackLink* stackLink; int x; x = stackLink-GetN
29、odeNum();输出:前往值为true 表示栈被清空参阅:Dstack:GetNodeNum, DstackSeq:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式读入数据,前往值无。参数:流输入参数参阅:DList:Input,DlistLink:Input,Dstack:Input, DstackSeq:InputOutput原型:virtual void Output( ostream &out)const用法:以流的方式保管数据,前往值无。参数:流输出参数参阅:DList:Output,DlistLink:Outpu
30、t,Dstack:Output, DstackSeq:OutputSetData原型:void SetData(T data,int NodeNum)用法:将栈中第NodeNum个数据设置为data值,前往值无。参数:无例如: #include “DStack.hvoid main() DstackLink* stackLink; stackLink-SetData(x,stack.Length()-1);输出:无参阅:DList:Inseart, DlistLink:Inseart,DstackSeq:SetDataInput_i原型:void Input_i( int NodeNum,is
31、tream &in)用法:以流的方式读入第NodeNum个数据,前往值无。参数:流输入参数参阅:DstackSeq:Input_iOutput_i原型:void Output_i( int NodeNum,ostream &out)用法:以流的方式取出第NodeNum个数据,前往值无。参数:流输出参数参阅:DstackSeq:Output_i阐明:DstackSeq与DstackLink 所具有的函数接口实现效果一致,由于存储构造不同,因此实现详细内容不同。1.5队列 1.5.1 DQueue1.5.1.1类层次关系DOjectDQueue相关类:DOject头文件:DQueue.h1.5.1
32、.2 成员阐明EnQueue原型:virtual bool EnQueue(T item)=0用法:将数据item 入队,纯虚函数在子类中实现。前往值为布尔值。参数:入栈数据,类型与建立的对象数据类型一致DeQueue原型:virtual bool DeQueue(T &value)=0用法:取出队首数据放到变量value中,前往值为布尔值。参数:出队列数据所放位置的变量,类型与建立的对象数据类型一致GetHead 原型:virtual T GetHead()=0用法:取队首数据,纯虚函数在子类中实现。前往值为建立对象的类型。参数:无GetRear原型:virtual T GetRear()=
33、0用法:取队尾数据,前往值为取到的队尾数据,类型为建立对象的类型。参数:无Length原型:int Length() const=0用法:前往栈中数据长度,纯虚函数在子类中实现。前往值:整型。参数:无IsEmpty原型:bool IsEmpty() const用法:判别栈能否为空,纯虚函数在子类中实现。前往值为布尔值。参数:无Clear原型:bool Clear()用法:清空栈,纯虚函数在子类中实现。前往值为布尔值。参数:无GetNodeNum原型:virtual int GetNodeNum() const=0用法:纯虚函数,供在子类中被重载,前往值为整型。参数:无Input原型:virtu
34、al void Input( istream &in)=0用法:纯虚函数,供在子类中被重载,前往值无。参数:流输入参数Output原型:virtual void Output( ostream &out)const用法:虚函数,供在子类中被重载,前往值无。参数:流输出参数1.5.2 DQueueSeq1.5.2.1类层次关系DOjectDQueueDQueueSeq相关类:Doject,DQueue头文件:DQueue.h1.5.2.2成员阐明GetHead原型:T GetHead()用法:取队首元素,前往值:前往所取队首数据,类型为建立对象所对应的类型。参数:无例如: #include “D
35、Queue.hvoid main() DQueueSeq QueueSeq; Dstring x; x = QueueSeq. GetHead ();输出:前往所取队首数据参阅:DQueue: GetHeadGetRear原型:T GetRear()用法:取队尾数据,前往值:前往所取队尾数据,数据类型与所见对象类型一致。参数:无例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; Dstring x; x = QueueSeq.GetRear();输出:前往所取队尾数据参阅:DQueue:GetRearEnQueue原型:bool EnQu
36、eue (T item)用法:将数据item 入队列,前往值为布尔值。参数:入队列数据,类型与建立的对象数据类型一致例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; Dstring x; Cin x;QueueSeq. EnQueue (x);输出:入队操作胜利前往true,否那么为false参阅:DQueue: EnQueueDeQueue原型:bool DeQueue(T &value)用法:将队首数据出队列放到变量value中,前往值为布尔值。参数:出队列数据所放位置的变量,类型与建立的对象数据类型一致例如: #include “
37、DQueue.hvoid main() DQueueSeq QueueSeq; Dstring x; QueueSeq.DeQueue(x);输出:出队操作胜利前往true,否那么为false参阅:DQueue:DeQueueLength原型:int Length() const用法:前往队列中数据长度,前往值:整型。参数:无例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; QueueSeq. Length();输出:队列长度:整型值参阅:DList:Length,DlistSeq:Length,DQueue:LengthIsEmpty
38、原型:bool IsEmpty() const用法:判别队列能否为空,前往值为布尔值。参数:无例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; QueueSeq.IsEmpty();输出:false 表示栈不空,否那么为空参阅:DList:IsEmpty, DlistSeq:IsEmpty,Dstack:IsEmpty,DQueue:IsEmptyClear原型:bool Clear()用法:清空队列,前往值为布尔值。参数:无例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; Qu
39、eueSeq.Clear();输出:前往值为true 表示队列被清空GetNodeNum原型:virtual int GetNodeNum() const用法:获得队列中数据个数,前往值为整型。参数:无例如:#include “DQueue.hvoid main() DQueueSeq QueueSeq; int x; x = QueueSeq.GetNodeNum();输出:前往值为true 表示队列被清空参阅:DQueue:GetNodeNum, Dstack:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式读入数据,前往
40、值无。参数:流输入参数参阅:DList:Input,DlistSeq:Input,DQueue:Input, Dstack:InputOutput原型:virtual void Output( ostream &out)const用法:以流的方式保管数据,前往值无。参数:流输出参数参阅:DList:Output,DlistSeq:Output,DQueue:Output, Dstack:OutputSetData原型:void SetData(T data,int NodeNum)用法:将队列中第NodeNum个数据设置为data值,前往值无。参数:无例如: #include “DQueue.
41、hvoid main() DQueueSeq QueueSeq; QueueSeq.SetData(x,QueueSeq.Length()-1);输出:无参阅:DList:Inseart, DlistSeq:Inseart, Dstack:SetDataInput_i原型:void Input_i( int NodeNum,istream &in)用法:以流的方式读入第NodeNum个数据,前往值无。参数:流输入参数参阅:Dstack:Input_iOutput_i原型:void Output_i( int NodeNum,ostream &out)用法:以流的方式取出第NodeNum个数据,
42、前往值无。参数:流输出参数参阅:Dstack:Output_i1.5.3 DQueueLink1.5.3.1类层次关系DOjectDQueueDQueueLink相关类:Doject,DQueue头文件:DQueue.h1.5.3.2成员阐明GetHead原型:T GetHead()用法:取队首元素,前往值:前往所取队首数据,类型为建立对象所对应的类型。参数:无例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; Dstring x; x = QueueLink-GetHead ();输出:前往所取队首数据参阅:DQueue: Get
43、Head, DqueuqSeq:GetHeadGetRear原型:T GetRear()用法:取队尾数据,前往值:前往所取队尾数据,数据类型与所见对象类型一致。参数:无例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; Dstring x; x = QueueLink-GetRear();输出:前往所取队尾数据参阅:DQueue:GetRear, DqueuqSeq:GetRearEnQueue原型:bool EnQueue (T item)用法:将数据item 入队列,前往值为布尔值。参数:入队列数据,类型与建立的对象数据类型一致
44、例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; Dstring x; Cin x;QueueLink-EnQueue (x);输出:入队操作胜利前往true,否那么为false参阅:DQueue: EnQueue. DqueuqSeq:EnQueueDeQueue原型:bool DeQueue(T &value)用法:将队首数据出队列放到变量value中,前往值为布尔值。参数:出队列数据所放位置的变量,类型与建立的对象数据类型一致例如: #include “DQueue.hvoid main() DQueueLink* Queu
45、eLink; Dstring x; QueueLink-DeQueue(x);输出:出队操作胜利前往true,否那么为false参阅:DQueue:DeQueue, DqueuqSeq:DeQueueLength原型:int Length() const用法:前往队列中数据长度,前往值:整型。参数:无例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; QueueLink-Length();输出:队列长度:整型值参阅:DList:Length,DlistSeq:Length,DQueue:Length, DqueuqSeq:Lengt
46、hIsEmpty原型:bool IsEmpty() const用法:判别队列能否为空,前往值为布尔值。参数:无例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; QueueLink-IsEmpty();输出:false 表示栈不空,否那么为空参阅:DList:IsEmpty, DlistSeq:IsEmpty,Dstack:IsEmpty,DQueue:IsEmpty, DqueuqSeq:IsEmptyClear原型:bool Clear()用法:清空队列,前往值为布尔值。参数:无例如: #include “DQueue.hvoi
47、d main() DQueueLink* QueueLink; QueueLink-Clear();输出:前往值为true 表示队列被清空参阅:Dstack:Clear, DqueuqSeq:ClearGetNodeNum原型:virtual int GetNodeNum() const用法:获得队列中数据个数,前往值为整型。参数:无例如:#include “DQueue.hvoid main() DQueueLink* QueueLink; int x; x = QueueLink-GetNodeNum();输出:前往值为true 表示队列被清空参阅:DQueue:GetNodeNum, D
48、stack:GetNodeNum, DqueuqSeq:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式读入数据,前往值无。参数:流输入参数参阅:DList:Input,DlistSeq:Input,DQueue:Input, Dstack:Input, DqueuqSeq:InputOutput原型:virtual void Output( ostream &out)const用法:以流的方式保管数据,前往值无。参数:流输出参数参阅:DList:Output,DlistSeq:Output,DQueue:Output, Ds
49、tack:Output, DqueuqSeq:OutputSetData原型:void SetData(T data,int NodeNum)用法:将队列中第NodeNum个数据设置为data值,前往值无。参数:无例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; QueueLink-SetData(x,QueueLink.Length()-1);输出:无参阅:DList:Inseart, DlistSeq:Inseart, Dstack:SetData, DqueuqSeq:SetDataInput_i原型:void Input_
50、i( int NodeNum,istream &in)用法:以流的方式读入第NodeNum个数据,前往值无。参数:流输入参数参阅:Dstack:Input_i, DqueuqSeq:Input_iOutput_i原型:void Output_i( int NodeNum,ostream &out)用法:以流的方式取出第NodeNum个数据,前往值无。参数:流输出参数参阅:Dstack:Output_i, DqueuqSeq:Output_i1.5.4 DQueueCyc1.5.4.1类层次关系DOjectDQueueDQueueCyc相关类:Doject,DQueue头文件:DQueue.h1
51、.5.4.2成员阐明IsInQueue原型:bool IsInQueue(int k)const用法:判别下标k能否在循环队列中,前往值:布尔类型。参数:字符指针:文件名例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.IsInQueue(3);输出:下标k在循环体中时前往true,否那么前往false.Save原型:virtual void Save(char * fname)用法:将循环队列数据保管到文件fname中,前往值无。参数:字符指针:文件名例如: #include “DQueue.hvoid main()
52、 DQueueCyc QueueCyc; QueueCyc.Save (“d:dqueuecyc.txt);ChangBodyLength原型:virtual void ChangBodyLength(int len)用法:重新设置循环队列长度,前往值无。参数:整型:设置整型值例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.ChangBodyLength(QueueCyc.Length()+5);GetHead原型:T GetHead()用法:取队首指针front后一个元素,前往值:前往所取队首数据,类型为建立对象所
53、对应的类型。参数:无例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; Dstring x; x = QueueCyc.GetHead ();输出:前往所取队首数据参阅:DQueue: GetHead, DqueuqSeq:GetHead,DqueueLink:GetHeadGetRear原型:T GetRear()用法:取队尾指针所指向的数据,前往值:前往所取队尾数据,数据类型与所见对象类型一致。参数:无例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; Dstring x; x
54、= QueueCyc.GetRear();输出:前往所取队尾数据参阅:DQueue:GetRear, DqueuqSeq:GetRear, DqueueLink:GetRearEnQueue原型:bool EnQueue (T item)用法:将数据item 入队列,前往值为布尔值。参数:入队列数据,类型与建立的对象数据类型一致例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; Dstring x; Cin x;QueueCyc.EnQueue (x);输出:入队操作胜利前往true,否那么为false参阅:DQueue: EnQueue
55、. DqueuqSeq:EnQueue, DqueueLink:EnQueueDeQueue原型:bool DeQueue(T &value)用法:将队首数据出队列放到变量value中,前往值为布尔值。参数:出队列数据所放位置的变量,类型与建立的对象数据类型一致例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; Dstring x; QueueCyc.DeQueue(x);输出:出队操作胜利前往true,否那么为false参阅:DQueue:DeQueue, DqueuqSeq:DeQueue, DqueueLink:DeQueueLen
56、gth原型:int Length() const用法:前往队列中数据长度,前往值:整型。参数:无例如: #include “DQueue.hvoid main() DQueueCycQueueCyc; QueueCyc.Length();输出:队列长度:整型值参阅:DList:Length,DlistSeq:Length,DQueue:Length, DqueuqSeq:LengthIsEmpty原型:bool IsEmpty() const用法:判别队列能否为空,前往值为布尔值。参数:无例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc;
57、 QueueCyc.IsEmpty();输出:false 表示队列不空,否那么为空参阅:DList:IsEmpty, DlistSeq:IsEmpty,Dstack:IsEmpty,DQueue:IsEmpty, DqueuqSeq:IsEmpty, DqueueLink:IsEmptyIsFull原型:bool IsFull()用法:判别队列能否已满,前往值为布尔值。参数:无例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.IsFull();输出:false 表示循环队列不空,否那么已满Clear原型:bool Cl
58、ear()用法:清空队列,前往值为布尔值。参数:无例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.Clear();输出:前往值为true 表示队列被清空参阅:Dstack:Clear, DqueuqSeq:Clear, DqueueLink:ClearGetNodeNum原型:virtual int GetNodeNum() const用法:获得队列中数据个数,前往值为整型。参数:无例如:#include “DQueue.hvoid main() DQueueCyc QueueCyc; int x; x = Queu
59、eCyc.GetNodeNum();输出:队列中的数据个数参阅:DQueue:GetNodeNum, Dstack:GetNodeNum, DqueuqSeq:GetNodeNum, DqueueLink:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式读入数据,前往值无。参数:流输入参数参阅:DList:Input,DlistSeq:Input,DQueue:Input, Dstack:Input, DqueuqSeq:Input, DqueueLink:InputOutput原型:virtual void Output(
60、ostream &out)const用法:以流的方式保管数据,前往值无。参数:流输出参数参阅:DList:Output,DlistSeq:Output,DQueue:Output, Dstack:Output, DqueuqSeq:Output, DqueueLink:OutputSetData原型:void SetData(T data,int NodeNum)用法:将队列中第NodeNum个数据设置为data值,前往值无。参数:无例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.SetData(x,QueueCyc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小波变换在时频分析中的应用-洞察分析
- 胃扭转诊断新技术-洞察分析
- 异构计算优化-洞察分析
- 【章末复习+测试】第2章 有理数的运算全章复习与测试(解析版)
- 荧光光谱技术-洞察分析
- 《家装营销教程参考》课件
- 《油漆涂料工程》课件
- 油气泄漏防控技术-洞察分析
- 参观太和殿导游词(8篇)
- 《玉米的生物学基础》课件
- 防范非法金融宣传
- 咨询经理招聘面试题与参考回答(某大型国企)2025年
- 小学语文骨干教师专题讲座《自由阅读-开启快乐的读书之门》
- 南京审计大学金审学院《中级财务会计(上)》2022-2023学年第一学期期末试卷
- 2023年电信运营商液冷技术白皮书
- 护理穴位贴敷课件
- 合作共赢商务合作PPT模板(基础教育)
- 白酒厂污水处理设计(共35页)
- 《雾化吸入疗法在呼吸疾病中的应用专家共识2016年版》
- 胎元、命宫、身宫的推算
- 高速公路改扩建中的保通设计分析
评论
0/150
提交评论