版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.PAGE :.;精品課程建立資料基于模板技術(shù)的多層次可視化數(shù)據(jù)構(gòu)造實(shí)驗(yàn)環(huán)境研討可視化數(shù)據(jù)構(gòu)造實(shí)驗(yàn)環(huán)境VCDS v1.0編程實(shí)驗(yàn)C+版編號(hào):20050202A參考手冊(cè)合肥工業(yè)大學(xué)課程組2005年7月15日 DSSTL類庫(kù)1.1 DSSTL類庫(kù)概述數(shù)據(jù)構(gòu)造根底類模板庫(kù)。這是實(shí)驗(yàn)環(huán)境所用到的最重要也是最根底的類庫(kù),其中類名全部以大寫字母D開場(chǎng),在本文中將此類庫(kù)簡(jiǎn)稱為D類庫(kù)。D類庫(kù)全部以規(guī)范C+言語(yǔ)編寫,適宜于一切規(guī)范C+編譯器且不依賴第三方類庫(kù)。它定義了每種數(shù)據(jù)構(gòu)造的最根本的物理實(shí)現(xiàn)部分,提供了數(shù)據(jù)構(gòu)造最根本的邏輯操作,如堆棧的入棧和出棧,并采用了C+輸入輸出流機(jī)制對(duì)數(shù)據(jù)構(gòu)造進(jìn)展存儲(chǔ)。在數(shù)據(jù)層的設(shè)
2、計(jì)中表達(dá)了C+的虛承繼與承繼的特點(diǎn),采用模板技術(shù)實(shí)現(xiàn)多種數(shù)據(jù)類型的代碼封裝,大大減少了代碼的冗余,整個(gè)數(shù)據(jù)層的設(shè)計(jì)學(xué)習(xí)VC中的MFC類庫(kù)的特點(diǎn)到達(dá)了構(gòu)造明確,層次明晰,類與類之間的關(guān)系嚴(yán)密。由于整個(gè)軟件中的數(shù)據(jù)構(gòu)造較多有八大模塊,為了很好的實(shí)現(xiàn)類的層次架構(gòu),設(shè)計(jì)過(guò)程中設(shè)置了數(shù)據(jù)層基類DObject,然后根據(jù)詳細(xì)模塊設(shè)置相應(yīng)的類層次,其構(gòu)造框架見附錄一。1.2 DObject DOject是數(shù)據(jù)構(gòu)造規(guī)范摸班類庫(kù)DSSTL中一切類的基類,定義了許多公用的虛函數(shù)。這些虛函數(shù)有相當(dāng)一部分是純虛函數(shù),因此無(wú)法直接運(yùn)用DOject來(lái)聲明對(duì)象。常用的方法是運(yùn)用DOject指針。 1.2.1 類層次關(guān)系正像前
3、面引見的那樣,DObject是整個(gè)數(shù)據(jù)層的基類,包含著各個(gè)模塊的公共操作接口,是一個(gè)虛類。1.2.2 類成員virtual void Output(ostream& out) const;流輸出函數(shù),保管類中數(shù)據(jù)virtual void Input(istream& in);流輸入函數(shù),讀取數(shù)據(jù)virtual void Save(char* fname) const;將數(shù)據(jù)保管到文件中virtual void Load(char* fname);從文件中取出數(shù)據(jù)1.3線性表 1.3.1 DListDList是線性表邏輯類。它是詳細(xì)存儲(chǔ)類型線性表的基類,同樣它內(nèi)部封裝著底層詳細(xì)的線性表的公共操作
4、接口。 1.3.1.1類層次關(guān)系DObjectDList相關(guān)類:DObject頭文件:DList.h 成員闡明SetNull原型:void SetNull()用法:去除線性表內(nèi)容,無(wú)前往值。參數(shù):無(wú)例如: #include “DList.hvoid main() Dlist list ;list.SetNull();輸出:無(wú)RemoveAll原型:virtual void RemoveAll ()用法:將線性表中的數(shù)據(jù)全部移除,無(wú)前往值參數(shù):無(wú)例如:#include “DList.hvoid main() Dlist list ;list.RemoveAll();輸出:無(wú)IsEmpty原型:v
5、irtual bool IsEmpty ()const用法:判別線性表能否為空,前往類型為布爾型參數(shù):無(wú)例如:#include “DList.hvoid main() Dlist list ;list. IsEmpty ();輸出:ture或著falseLength原型:virtual int Length ()const用法:判別線性表的長(zhǎng)度,前往值為整型參數(shù):無(wú)例如:#include “DList.hvoid main() Dlist list ;list. Length ();輸出:整型數(shù)值Search原型:virtual int Search (const T&x)const用法:在線
6、性表中查找元素x,前往值為整型參數(shù):模板類型參數(shù)例如:#include “DList.hvoid main() Dlist list ;list. Search (23);輸出:在線性表中查到數(shù)據(jù)23所在的位置,查不到時(shí)前往-1。Insert原型:virtual void Insert( int k, const T&x)用法:在線性表中第k個(gè)位置插入元素x,無(wú)前往值參數(shù):模板類型參數(shù)例如:#include “DList.hvoid main() Dlist list ;list. Insert(2,56);輸出:無(wú)Delete原型:virtual void Delete (int k, T&
7、x)用法:刪除線性表中的第k個(gè)元素,將刪除的元素放到變量x中,前往值無(wú)參數(shù):模板類型參數(shù)可以是整型,字符型,雙精度類型,字符串類型等。例如:#include “DList.hvoid main() Dlist list ;list. Delete(2,35);輸出:無(wú) 1.3.2 DListSeqDListSeq是線性表模板類,此類命名規(guī)那么是由于存儲(chǔ)構(gòu)造是順序表構(gòu)造。它是線性表的詳細(xì)實(shí)現(xiàn)的類。1.3.2.1類層次關(guān)系DOjectDListDListSeq相關(guān)類:Doject,DList頭文件:DListSeq.h1.3.2.2成員闡明SetNull原型:void SetNull()用法:去除
8、線性表內(nèi)容,無(wú)前往值。參數(shù):無(wú)例如: #include “DListSeq.hvoid main() DlistSeq listseq ;listseq.SetNull();輸出:無(wú)參閱:DList:SetNullRemoveAll原型:void RemoveAll ()用法:刪除順序表存儲(chǔ)的線性表中的一切數(shù)據(jù),前往值無(wú)參數(shù):無(wú)例如:#include “DListSeq.hvoid main() DlistSeq listseq ;listseq.RemoveAll();輸出:無(wú)參閱:DList:RemoveAllSet原型:void Set( int MaxListSeqSize, bool
9、 copy = true )用法:重新設(shè)置順序表線性表的最大長(zhǎng)度,前往值無(wú)參數(shù):MaxListSeqSize:設(shè)置順序表存儲(chǔ)的線性表的最大長(zhǎng)度,布爾變量:copy為true時(shí),將原線性表中的數(shù)據(jù)拷貝到設(shè)置為新長(zhǎng)度的線性表中,否那么該線性表清空,最大長(zhǎng)度設(shè)置為MaxListSeqList例如:#include “DListSeq.hvoid main() DlistSeq listseq ;listseq.Set(10,true);輸出:無(wú)IsEmpty原型:virtual bool IsEmpty ()const用法:判別線性表能否為空,前往類型為布爾型參數(shù):無(wú)例如:#include “DLi
10、stSeq.hvoid main() DlistSeq listSeq ;listSeq. IsEmpty ();輸出:ture:線性表空或著false:線性表不為空參閱:DList:IsEmptyLength原型:virtual int Length ()const用法:判別線性表的長(zhǎng)度,前往值為整型參數(shù):無(wú)例如:#include “DListSeq.hvoid main() DlistSeq listSeq ;listSeq. Length ();輸出:整型數(shù)值參閱:DList:LengthSearch原型:virtual int Search (const T&x)const用法:在線性
11、表中查找元素x,前往值為整型參數(shù):模板類型參數(shù)針對(duì)對(duì)象建立的類型而確定例如:#include “DListSeq.hvoid main() DlistSeq listSeq ;listSeq. Search (a);輸出:在線性表中查到字符型數(shù)據(jù)a的位置,查找失敗時(shí)前往-1。Insert原型:virtual void Insert( int k, const T&x)用法:在線性表中第k個(gè)位置插入元素x,無(wú)前往值參數(shù):模板類型參數(shù):根據(jù)建立的對(duì)象類型而定例如:#include “DListSeq.hvoid main() DlistSeq listSeq ;listSeq. Insert(6,
12、y);輸出:無(wú)Delete原型:virtual void Delete (int k, T&x)用法:刪除線性表中的第k個(gè)元素,將刪除的元素放到變量x中,前往值無(wú)參數(shù):模板類型參數(shù)可以是整型,字符型,雙精度類型,字符串類型等。例如:#include “DList.hvoid main() Dlist list ; char x;list. Delete(2,x);輸出:無(wú)參閱:DList:DeleteGet原型:virtual bool Get( int k, T &x ) const用法:取順序表存儲(chǔ)的線性表中的第k個(gè)元素,將該元素放到變量x中,前往值為布爾值參數(shù):第一個(gè)參數(shù):表示線性表中的
13、第k個(gè)位置,第二個(gè)參數(shù)模板類型參數(shù)可以是整型,字符型,雙精度類型,字符串類型等。例如:#include “DListSeq.hvoid main() DlistSeq lisSeq ; char x;list. Get(2,x);輸出:true或著falseoperator原型:T &operator( int i )用法:重載運(yùn)算符,取順序表存儲(chǔ)的線性表中下標(biāo)是i的元素,前往值為建立對(duì)象的數(shù)據(jù)類型參數(shù):表示線性表中的第i個(gè)位置的數(shù)據(jù)例如:#include “DListSeq.hvoid main() DlistSeq lisSeq ; char x;x = listSeqi;輸出:前往第i個(gè)
14、數(shù)據(jù)Output原型:void Output( ostream &out)const用法:將數(shù)據(jù)以流的方式輸出,無(wú)前往值參數(shù):out輸出流變量。例如:#include “DListSeq.hvoid main() DlistSeq listSeq ; ofstream outFile ( “d:li1.txt) ; listSeq.Output( outFile ) ;輸出:無(wú)Input原型:void Input( istream &in)用法:將數(shù)據(jù)以流的方式輸入,無(wú)前往值參數(shù):in輸入流變量。例如:#include “DListSeq.hvoid main() DlistSeq listS
15、eq ; ifstream inFile ( “d:li1.txt) ; listSeq.Input( inFile ) ;輸出:無(wú)闡明:Input和OutPut兩個(gè)函數(shù)接口普通不在數(shù)據(jù)層運(yùn)用,而運(yùn)用在視化框架中的導(dǎo)入導(dǎo)出操作中。1.4棧1.4.1 DStack1.4.1.1類層次關(guān)系DOjectDStack相關(guān)類:DOject頭文件:DStack.h1.4.1.2成員闡明Push原型:bool Push(T item)=0用法:將數(shù)據(jù)item 入棧,純虛函數(shù)在子類中實(shí)現(xiàn)。前往值為布爾值。參數(shù):入棧數(shù)據(jù),類型與建立的對(duì)象數(shù)據(jù)類型一致Pop原型:bool Pop(T &value)=0用法:將棧
16、頂數(shù)據(jù)出棧放到變量value中,前往值為布爾值。參數(shù):出棧數(shù)據(jù)所放位置的變量,類型與建立的對(duì)象數(shù)據(jù)類型一致Length原型:int Length() const=0用法:前往棧中數(shù)據(jù)長(zhǎng)度,純虛函數(shù)在子類中實(shí)現(xiàn)。前往值:整型。參數(shù):無(wú)GetTop原型:T GetTop()=0用法:取棧頂數(shù)據(jù),純虛函數(shù)在子類中實(shí)現(xiàn)。前往值:前往棧頂數(shù)據(jù),數(shù)據(jù)類型為建立的對(duì)象的數(shù)據(jù)類型。參數(shù):無(wú)IsEmpty原型:bool IsEmpty() const用法:判別棧能否為空,純虛函數(shù)在子類中實(shí)現(xiàn)。前往值為布爾值。參數(shù):無(wú)Clear原型:bool Clear()用法:清空棧,純虛函數(shù)在子類中實(shí)現(xiàn)。前往值為布爾值。參數(shù)
17、:無(wú)GetNodeNum原型:virtual int GetNodeNum() const=0用法:純虛函數(shù),供在子類中被重載,前往值為整型。參數(shù):無(wú)Input原型:virtual void Input( istream &in)=0用法:純虛函數(shù),供在子類中被重載,前往值無(wú)。參數(shù):流輸入?yún)?shù)Output原型:virtual void Output( ostream &out)const用法:虛函數(shù),供在子類中被重載,前往值無(wú)。參數(shù):流輸出參數(shù)1.4.2 DstackSeq1.4.2.1類層次關(guān)系DOjectDStackDStackSeq相關(guān)類:Doject,DStack頭文件:DStack.
18、h1.4.1.2成員闡明Push原型:bool Push(T item)用法:將數(shù)據(jù)item 入棧,前往值為布爾值。參數(shù):入棧數(shù)據(jù),類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #include “DStack.hvoid main() DstackSeq stackSeq; Dstring x; Cin x;stackSeq.Push(x);輸出:入棧操作勝利前往true,否那么為false參閱:Dstack:PushPop原型:bool Pop(T &value)用法:將棧頂數(shù)據(jù)出棧放到變量value中,前往值為布爾值。參數(shù):出棧數(shù)據(jù)所放位置的變量,類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #includ
19、e “DStack.hvoid main() DstackSeq stackSeq; Dstring x; stack.Seq.Pop(x);輸出:出棧操作勝利前往true,否那么為false參閱:Dstack:PopLength原型:int Length() const用法:前往棧中數(shù)據(jù)長(zhǎng)度,前往值:整型。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackSeq stackSeq; stack.Seq.Length();輸出:棧長(zhǎng)度:整型值參閱:DList:Length,DlistSeq:Length,Dstack:LengthGetTop原型:T Ge
20、tTop()用法:取棧頂數(shù)據(jù),前往值:前往棧頂數(shù)據(jù),數(shù)據(jù)類型為建立的對(duì)象的數(shù)據(jù)類型。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackSeq stackSeq; Dstring strData; StrData = stackSeq.GetTop();輸出:棧頂數(shù)據(jù)IsEmpty原型:bool IsEmpty() const用法:判別棧能否為空,前往值為布爾值。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackSeq stackSeq; stack.Seq.IsEmpty();輸出:false 表示棧不空,否那么為空參
21、閱:DList:IsEmpty, DlistSeq:IsEmpty,Dstack:IsEmptyClear原型:bool Clear()用法:清空棧,前往值為布爾值。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackSeq stackSeq; stackSeq.Clear();輸出:前往值為true 表示棧被清空GetNodeNum原型:virtual int GetNodeNum() const用法:獲得棧中數(shù)據(jù)個(gè)數(shù),前往值為整型。參數(shù):無(wú)例如:#include “DStack.hvoid main() DstackSeq stackSeq; int x
22、; x = stackSeq.GetNodeNum();輸出:前往值為true 表示棧被清空參閱:Dstack:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式讀入數(shù)據(jù),前往值無(wú)。參數(shù):流輸入?yún)?shù)參閱:DList:Input,DlistSeq:Input,Dstack:InputOutput原型:virtual void Output( ostream &out)const用法:以流的方式保管數(shù)據(jù),前往值無(wú)。參數(shù):流輸出參數(shù)參閱:DList:Output,DlistSeq:Output,Dstack:OutputSetData
23、原型:void SetData(T data,int NodeNum)用法:將棧中第NodeNum個(gè)數(shù)據(jù)設(shè)置為data值,前往值無(wú)。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackSeq stackSeq; stackSeq.SetData(x,stack.Length()-1);輸出:無(wú)參閱:DList:Inseart, DlistSeq:InseartInput_i原型:void Input_i( int NodeNum,istream &in)用法:以流的方式讀入第NodeNum個(gè)數(shù)據(jù),前往值無(wú)。參數(shù):流輸入?yún)?shù)Output_i原型:void Ou
24、tput_i( int NodeNum,ostream &out)用法:以流的方式取出第NodeNum個(gè)數(shù)據(jù),前往值無(wú)。參數(shù):流輸出參數(shù)1.4.3DstackLink1.4.3.1類層次關(guān)系DOjectDStackDStackLink相關(guān)類:Doject,DStack頭文件:DStack.h1.4.3.2成員闡明Push原型:bool Push(T item)用法:將數(shù)據(jù)item 入棧,前往值為布爾值。參數(shù):入棧數(shù)據(jù),類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #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)用法:將棧頂數(shù)據(jù)出棧放到變量value中,前往值為布爾值。參數(shù):出棧數(shù)據(jù)所放位置的變量,類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #include “DStack.hvoid main() DstackLink* stackLink; Dstring x; stack.Link-Pop(x);輸出:出棧操作勝利前往true,否那么為false參閱:Dstack:Pop, DstackSeq:PopLength原
26、型:int Length() const用法:前往棧中數(shù)據(jù)長(zhǎng)度,前往值:整型。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackLink * stackLink; stack.Link-Length();輸出:棧長(zhǎng)度:整型值參閱:DList:Length,DlistLink:Length,Dstack:Length, DstackSeq:LengthGetTop原型:T GetTop()用法:取棧頂數(shù)據(jù),前往值:前往棧頂數(shù)據(jù),數(shù)據(jù)類型為建立的對(duì)象的數(shù)據(jù)類型。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackLink*
27、stackLink; Dstring strData; StrData = stackLink-GetTop();輸出:棧頂數(shù)據(jù)參閱:DstackSeq:GetTopIsEmpty原型:bool IsEmpty() const用法:判別棧能否為空,前往值為布爾值。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackLink* stackLink; stack.Link-IsEmpty();輸出:false 表示棧不空,否那么為空參閱:DList:IsEmpty, DlistLink:IsEmpty,Dstack:IsEmpty, DstackSeq:IsEm
28、ptyClear原型:bool Clear()用法:清空棧,前往值為布爾值。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackLink* stackLink; stackLink-Clear();輸出:前往值為true 表示棧被清空參閱:DstackSeq:ClearGetNodeNum原型:virtual int GetNodeNum() const用法:獲得棧中數(shù)據(jù)個(gè)數(shù),前往值為整型。參數(shù):無(wú)例如:#include “DStack.hvoid main() DstackLink* stackLink; int x; x = stackLink-GetN
29、odeNum();輸出:前往值為true 表示棧被清空參閱:Dstack:GetNodeNum, DstackSeq:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式讀入數(shù)據(jù),前往值無(wú)。參數(shù):流輸入?yún)?shù)參閱:DList:Input,DlistLink:Input,Dstack:Input, DstackSeq:InputOutput原型:virtual void Output( ostream &out)const用法:以流的方式保管數(shù)據(jù),前往值無(wú)。參數(shù):流輸出參數(shù)參閱:DList:Output,DlistLink:Outpu
30、t,Dstack:Output, DstackSeq:OutputSetData原型:void SetData(T data,int NodeNum)用法:將棧中第NodeNum個(gè)數(shù)據(jù)設(shè)置為data值,前往值無(wú)。參數(shù):無(wú)例如: #include “DStack.hvoid main() DstackLink* stackLink; stackLink-SetData(x,stack.Length()-1);輸出:無(wú)參閱:DList:Inseart, DlistLink:Inseart,DstackSeq:SetDataInput_i原型:void Input_i( int NodeNum,is
31、tream &in)用法:以流的方式讀入第NodeNum個(gè)數(shù)據(jù),前往值無(wú)。參數(shù):流輸入?yún)?shù)參閱:DstackSeq:Input_iOutput_i原型:void Output_i( int NodeNum,ostream &out)用法:以流的方式取出第NodeNum個(gè)數(shù)據(jù),前往值無(wú)。參數(shù):流輸出參數(shù)參閱:DstackSeq:Output_i闡明:DstackSeq與DstackLink 所具有的函數(shù)接口實(shí)現(xiàn)效果一致,由于存儲(chǔ)構(gòu)造不同,因此實(shí)現(xiàn)詳細(xì)內(nèi)容不同。1.5隊(duì)列 1.5.1 DQueue1.5.1.1類層次關(guān)系DOjectDQueue相關(guān)類:DOject頭文件:DQueue.h1.5.1
32、.2 成員闡明EnQueue原型:virtual bool EnQueue(T item)=0用法:將數(shù)據(jù)item 入隊(duì),純虛函數(shù)在子類中實(shí)現(xiàn)。前往值為布爾值。參數(shù):入棧數(shù)據(jù),類型與建立的對(duì)象數(shù)據(jù)類型一致DeQueue原型:virtual bool DeQueue(T &value)=0用法:取出隊(duì)首數(shù)據(jù)放到變量value中,前往值為布爾值。參數(shù):出隊(duì)列數(shù)據(jù)所放位置的變量,類型與建立的對(duì)象數(shù)據(jù)類型一致GetHead 原型:virtual T GetHead()=0用法:取隊(duì)首數(shù)據(jù),純虛函數(shù)在子類中實(shí)現(xiàn)。前往值為建立對(duì)象的類型。參數(shù):無(wú)GetRear原型:virtual T GetRear()=
33、0用法:取隊(duì)尾數(shù)據(jù),前往值為取到的隊(duì)尾數(shù)據(jù),類型為建立對(duì)象的類型。參數(shù):無(wú)Length原型:int Length() const=0用法:前往棧中數(shù)據(jù)長(zhǎng)度,純虛函數(shù)在子類中實(shí)現(xiàn)。前往值:整型。參數(shù):無(wú)IsEmpty原型:bool IsEmpty() const用法:判別棧能否為空,純虛函數(shù)在子類中實(shí)現(xiàn)。前往值為布爾值。參數(shù):無(wú)Clear原型:bool Clear()用法:清空棧,純虛函數(shù)在子類中實(shí)現(xiàn)。前往值為布爾值。參數(shù):無(wú)GetNodeNum原型:virtual int GetNodeNum() const=0用法:純虛函數(shù),供在子類中被重載,前往值為整型。參數(shù):無(wú)Input原型:virtu
34、al void Input( istream &in)=0用法:純虛函數(shù),供在子類中被重載,前往值無(wú)。參數(shù):流輸入?yún)?shù)Output原型:virtual void Output( ostream &out)const用法:虛函數(shù),供在子類中被重載,前往值無(wú)。參數(shù):流輸出參數(shù)1.5.2 DQueueSeq1.5.2.1類層次關(guān)系DOjectDQueueDQueueSeq相關(guān)類:Doject,DQueue頭文件:DQueue.h1.5.2.2成員闡明GetHead原型:T GetHead()用法:取隊(duì)首元素,前往值:前往所取隊(duì)首數(shù)據(jù),類型為建立對(duì)象所對(duì)應(yīng)的類型。參數(shù):無(wú)例如: #include “D
35、Queue.hvoid main() DQueueSeq QueueSeq; Dstring x; x = QueueSeq. GetHead ();輸出:前往所取隊(duì)首數(shù)據(jù)參閱:DQueue: GetHeadGetRear原型:T GetRear()用法:取隊(duì)尾數(shù)據(jù),前往值:前往所取隊(duì)尾數(shù)據(jù),數(shù)據(jù)類型與所見對(duì)象類型一致。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; Dstring x; x = QueueSeq.GetRear();輸出:前往所取隊(duì)尾數(shù)據(jù)參閱:DQueue:GetRearEnQueue原型:bool EnQu
36、eue (T item)用法:將數(shù)據(jù)item 入隊(duì)列,前往值為布爾值。參數(shù):入隊(duì)列數(shù)據(jù),類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; Dstring x; Cin x;QueueSeq. EnQueue (x);輸出:入隊(duì)操作勝利前往true,否那么為false參閱:DQueue: EnQueueDeQueue原型:bool DeQueue(T &value)用法:將隊(duì)首數(shù)據(jù)出隊(duì)列放到變量value中,前往值為布爾值。參數(shù):出隊(duì)列數(shù)據(jù)所放位置的變量,類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #include “
37、DQueue.hvoid main() DQueueSeq QueueSeq; Dstring x; QueueSeq.DeQueue(x);輸出:出隊(duì)操作勝利前往true,否那么為false參閱:DQueue:DeQueueLength原型:int Length() const用法:前往隊(duì)列中數(shù)據(jù)長(zhǎng)度,前往值:整型。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; QueueSeq. Length();輸出:隊(duì)列長(zhǎng)度:整型值參閱:DList:Length,DlistSeq:Length,DQueue:LengthIsEmpty
38、原型:bool IsEmpty() const用法:判別隊(duì)列能否為空,前往值為布爾值。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; QueueSeq.IsEmpty();輸出:false 表示棧不空,否那么為空參閱:DList:IsEmpty, DlistSeq:IsEmpty,Dstack:IsEmpty,DQueue:IsEmptyClear原型:bool Clear()用法:清空隊(duì)列,前往值為布爾值。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueSeq QueueSeq; Qu
39、eueSeq.Clear();輸出:前往值為true 表示隊(duì)列被清空GetNodeNum原型:virtual int GetNodeNum() const用法:獲得隊(duì)列中數(shù)據(jù)個(gè)數(shù),前往值為整型。參數(shù):無(wú)例如:#include “DQueue.hvoid main() DQueueSeq QueueSeq; int x; x = QueueSeq.GetNodeNum();輸出:前往值為true 表示隊(duì)列被清空參閱:DQueue:GetNodeNum, Dstack:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式讀入數(shù)據(jù),前往
40、值無(wú)。參數(shù):流輸入?yún)?shù)參閱:DList:Input,DlistSeq:Input,DQueue:Input, Dstack:InputOutput原型:virtual void Output( ostream &out)const用法:以流的方式保管數(shù)據(jù),前往值無(wú)。參數(shù):流輸出參數(shù)參閱:DList:Output,DlistSeq:Output,DQueue:Output, Dstack:OutputSetData原型:void SetData(T data,int NodeNum)用法:將隊(duì)列中第NodeNum個(gè)數(shù)據(jù)設(shè)置為data值,前往值無(wú)。參數(shù):無(wú)例如: #include “DQueue.
41、hvoid main() DQueueSeq QueueSeq; QueueSeq.SetData(x,QueueSeq.Length()-1);輸出:無(wú)參閱:DList:Inseart, DlistSeq:Inseart, Dstack:SetDataInput_i原型:void Input_i( int NodeNum,istream &in)用法:以流的方式讀入第NodeNum個(gè)數(shù)據(jù),前往值無(wú)。參數(shù):流輸入?yún)?shù)參閱:Dstack:Input_iOutput_i原型:void Output_i( int NodeNum,ostream &out)用法:以流的方式取出第NodeNum個(gè)數(shù)據(jù),
42、前往值無(wú)。參數(shù):流輸出參數(shù)參閱:Dstack:Output_i1.5.3 DQueueLink1.5.3.1類層次關(guān)系DOjectDQueueDQueueLink相關(guān)類:Doject,DQueue頭文件:DQueue.h1.5.3.2成員闡明GetHead原型:T GetHead()用法:取隊(duì)首元素,前往值:前往所取隊(duì)首數(shù)據(jù),類型為建立對(duì)象所對(duì)應(yīng)的類型。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; Dstring x; x = QueueLink-GetHead ();輸出:前往所取隊(duì)首數(shù)據(jù)參閱:DQueue: Get
43、Head, DqueuqSeq:GetHeadGetRear原型:T GetRear()用法:取隊(duì)尾數(shù)據(jù),前往值:前往所取隊(duì)尾數(shù)據(jù),數(shù)據(jù)類型與所見對(duì)象類型一致。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; Dstring x; x = QueueLink-GetRear();輸出:前往所取隊(duì)尾數(shù)據(jù)參閱:DQueue:GetRear, DqueuqSeq:GetRearEnQueue原型:bool EnQueue (T item)用法:將數(shù)據(jù)item 入隊(duì)列,前往值為布爾值。參數(shù):入隊(duì)列數(shù)據(jù),類型與建立的對(duì)象數(shù)據(jù)類型一致
44、例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; Dstring x; Cin x;QueueLink-EnQueue (x);輸出:入隊(duì)操作勝利前往true,否那么為false參閱:DQueue: EnQueue. DqueuqSeq:EnQueueDeQueue原型:bool DeQueue(T &value)用法:將隊(duì)首數(shù)據(jù)出隊(duì)列放到變量value中,前往值為布爾值。參數(shù):出隊(duì)列數(shù)據(jù)所放位置的變量,類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #include “DQueue.hvoid main() DQueueLink* Queu
45、eLink; Dstring x; QueueLink-DeQueue(x);輸出:出隊(duì)操作勝利前往true,否那么為false參閱:DQueue:DeQueue, DqueuqSeq:DeQueueLength原型:int Length() const用法:前往隊(duì)列中數(shù)據(jù)長(zhǎng)度,前往值:整型。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; QueueLink-Length();輸出:隊(duì)列長(zhǎng)度:整型值參閱:DList:Length,DlistSeq:Length,DQueue:Length, DqueuqSeq:Lengt
46、hIsEmpty原型:bool IsEmpty() const用法:判別隊(duì)列能否為空,前往值為布爾值。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; QueueLink-IsEmpty();輸出:false 表示棧不空,否那么為空參閱:DList:IsEmpty, DlistSeq:IsEmpty,Dstack:IsEmpty,DQueue:IsEmpty, DqueuqSeq:IsEmptyClear原型:bool Clear()用法:清空隊(duì)列,前往值為布爾值。參數(shù):無(wú)例如: #include “DQueue.hvoi
47、d main() DQueueLink* QueueLink; QueueLink-Clear();輸出:前往值為true 表示隊(duì)列被清空參閱:Dstack:Clear, DqueuqSeq:ClearGetNodeNum原型:virtual int GetNodeNum() const用法:獲得隊(duì)列中數(shù)據(jù)個(gè)數(shù),前往值為整型。參數(shù):無(wú)例如:#include “DQueue.hvoid main() DQueueLink* QueueLink; int x; x = QueueLink-GetNodeNum();輸出:前往值為true 表示隊(duì)列被清空參閱:DQueue:GetNodeNum, D
48、stack:GetNodeNum, DqueuqSeq:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式讀入數(shù)據(jù),前往值無(wú)。參數(shù):流輸入?yún)?shù)參閱:DList:Input,DlistSeq:Input,DQueue:Input, Dstack:Input, DqueuqSeq:InputOutput原型:virtual void Output( ostream &out)const用法:以流的方式保管數(shù)據(jù),前往值無(wú)。參數(shù):流輸出參數(shù)參閱:DList:Output,DlistSeq:Output,DQueue:Output, Ds
49、tack:Output, DqueuqSeq:OutputSetData原型:void SetData(T data,int NodeNum)用法:將隊(duì)列中第NodeNum個(gè)數(shù)據(jù)設(shè)置為data值,前往值無(wú)。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueLink* QueueLink; QueueLink-SetData(x,QueueLink.Length()-1);輸出:無(wú)參閱:DList:Inseart, DlistSeq:Inseart, Dstack:SetData, DqueuqSeq:SetDataInput_i原型:void Input_
50、i( int NodeNum,istream &in)用法:以流的方式讀入第NodeNum個(gè)數(shù)據(jù),前往值無(wú)。參數(shù):流輸入?yún)?shù)參閱:Dstack:Input_i, DqueuqSeq:Input_iOutput_i原型:void Output_i( int NodeNum,ostream &out)用法:以流的方式取出第NodeNum個(gè)數(shù)據(jù),前往值無(wú)。參數(shù):流輸出參數(shù)參閱:Dstack:Output_i, DqueuqSeq:Output_i1.5.4 DQueueCyc1.5.4.1類層次關(guān)系DOjectDQueueDQueueCyc相關(guān)類:Doject,DQueue頭文件:DQueue.h1
51、.5.4.2成員闡明IsInQueue原型:bool IsInQueue(int k)const用法:判別下標(biāo)k能否在循環(huán)隊(duì)列中,前往值:布爾類型。參數(shù):字符指針:文件名例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.IsInQueue(3);輸出:下標(biāo)k在循環(huán)體中時(shí)前往true,否那么前往false.Save原型:virtual void Save(char * fname)用法:將循環(huán)隊(duì)列數(shù)據(jù)保管到文件fname中,前往值無(wú)。參數(shù):字符指針:文件名例如: #include “DQueue.hvoid main()
52、 DQueueCyc QueueCyc; QueueCyc.Save (“d:dqueuecyc.txt);ChangBodyLength原型:virtual void ChangBodyLength(int len)用法:重新設(shè)置循環(huán)隊(duì)列長(zhǎng)度,前往值無(wú)。參數(shù):整型:設(shè)置整型值例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.ChangBodyLength(QueueCyc.Length()+5);GetHead原型:T GetHead()用法:取隊(duì)首指針front后一個(gè)元素,前往值:前往所取隊(duì)首數(shù)據(jù),類型為建立對(duì)象所
53、對(duì)應(yīng)的類型。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; Dstring x; x = QueueCyc.GetHead ();輸出:前往所取隊(duì)首數(shù)據(jù)參閱:DQueue: GetHead, DqueuqSeq:GetHead,DqueueLink:GetHeadGetRear原型:T GetRear()用法:取隊(duì)尾指針?biāo)赶虻臄?shù)據(jù),前往值:前往所取隊(duì)尾數(shù)據(jù),數(shù)據(jù)類型與所見對(duì)象類型一致。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; Dstring x; x
54、= QueueCyc.GetRear();輸出:前往所取隊(duì)尾數(shù)據(jù)參閱:DQueue:GetRear, DqueuqSeq:GetRear, DqueueLink:GetRearEnQueue原型:bool EnQueue (T item)用法:將數(shù)據(jù)item 入隊(duì)列,前往值為布爾值。參數(shù):入隊(duì)列數(shù)據(jù),類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; Dstring x; Cin x;QueueCyc.EnQueue (x);輸出:入隊(duì)操作勝利前往true,否那么為false參閱:DQueue: EnQueue
55、. DqueuqSeq:EnQueue, DqueueLink:EnQueueDeQueue原型:bool DeQueue(T &value)用法:將隊(duì)首數(shù)據(jù)出隊(duì)列放到變量value中,前往值為布爾值。參數(shù):出隊(duì)列數(shù)據(jù)所放位置的變量,類型與建立的對(duì)象數(shù)據(jù)類型一致例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; Dstring x; QueueCyc.DeQueue(x);輸出:出隊(duì)操作勝利前往true,否那么為false參閱:DQueue:DeQueue, DqueuqSeq:DeQueue, DqueueLink:DeQueueLen
56、gth原型:int Length() const用法:前往隊(duì)列中數(shù)據(jù)長(zhǎng)度,前往值:整型。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueCycQueueCyc; QueueCyc.Length();輸出:隊(duì)列長(zhǎng)度:整型值參閱:DList:Length,DlistSeq:Length,DQueue:Length, DqueuqSeq:LengthIsEmpty原型:bool IsEmpty() const用法:判別隊(duì)列能否為空,前往值為布爾值。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc;
57、 QueueCyc.IsEmpty();輸出:false 表示隊(duì)列不空,否那么為空參閱:DList:IsEmpty, DlistSeq:IsEmpty,Dstack:IsEmpty,DQueue:IsEmpty, DqueuqSeq:IsEmpty, DqueueLink:IsEmptyIsFull原型:bool IsFull()用法:判別隊(duì)列能否已滿,前往值為布爾值。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.IsFull();輸出:false 表示循環(huán)隊(duì)列不空,否那么已滿Clear原型:bool Cl
58、ear()用法:清空隊(duì)列,前往值為布爾值。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.Clear();輸出:前往值為true 表示隊(duì)列被清空參閱:Dstack:Clear, DqueuqSeq:Clear, DqueueLink:ClearGetNodeNum原型:virtual int GetNodeNum() const用法:獲得隊(duì)列中數(shù)據(jù)個(gè)數(shù),前往值為整型。參數(shù):無(wú)例如:#include “DQueue.hvoid main() DQueueCyc QueueCyc; int x; x = Queu
59、eCyc.GetNodeNum();輸出:隊(duì)列中的數(shù)據(jù)個(gè)數(shù)參閱:DQueue:GetNodeNum, Dstack:GetNodeNum, DqueuqSeq:GetNodeNum, DqueueLink:GetNodeNumInput原型:virtual void Input( istream &in)用法:以流的方式讀入數(shù)據(jù),前往值無(wú)。參數(shù):流輸入?yún)?shù)參閱:DList:Input,DlistSeq:Input,DQueue:Input, Dstack:Input, DqueuqSeq:Input, DqueueLink:InputOutput原型:virtual void Output(
60、ostream &out)const用法:以流的方式保管數(shù)據(jù),前往值無(wú)。參數(shù):流輸出參數(shù)參閱:DList:Output,DlistSeq:Output,DQueue:Output, Dstack:Output, DqueuqSeq:Output, DqueueLink:OutputSetData原型:void SetData(T data,int NodeNum)用法:將隊(duì)列中第NodeNum個(gè)數(shù)據(jù)設(shè)置為data值,前往值無(wú)。參數(shù):無(wú)例如: #include “DQueue.hvoid main() DQueueCyc QueueCyc; QueueCyc.SetData(x,QueueCyc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度礦產(chǎn)資源勘探開發(fā)合同協(xié)議4篇
- 科技美好生活
- 2025年度商業(yè)街場(chǎng)地施工租賃管理協(xié)議3篇
- 個(gè)人借款公司版協(xié)議范例2024版A版
- 二零二五版窗簾布藝設(shè)計(jì)制作安裝服務(wù)合同2篇
- 2025年體育場(chǎng)館燈光與音響系統(tǒng)優(yōu)化合同4篇
- 2025年度商業(yè)步行街場(chǎng)攤位租賃與品牌推廣合同4篇
- 2025年度智能家居產(chǎn)品試用協(xié)議書范本4篇
- 2025年度休閑農(nóng)業(yè)園區(qū)場(chǎng)地共用服務(wù)合同4篇
- 2025年度產(chǎn)業(yè)園土地租賃與開發(fā)合作協(xié)議4篇
- 2025年中國(guó)高純生鐵行業(yè)政策、市場(chǎng)規(guī)模及投資前景研究報(bào)告(智研咨詢發(fā)布)
- 2022-2024年浙江中考英語(yǔ)試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報(bào)告
- 央視網(wǎng)2025亞冬會(huì)營(yíng)銷方案
- 北師大版數(shù)學(xué)三年級(jí)下冊(cè)豎式計(jì)算題100道
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 屋頂分布式光伏發(fā)電項(xiàng)目施工重點(diǎn)難點(diǎn)分析及應(yīng)對(duì)措施
- 胃鏡下超聲穿刺護(hù)理配合
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(原卷版)
評(píng)論
0/150
提交評(píng)論