版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《數(shù)據(jù)結(jié)構(gòu)》精品課程資料匯編PAGEPAGE239《數(shù)據(jù)結(jié)構(gòu)》精品課程建設(shè)資料基于模板技術(shù)的多層次可視化數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)環(huán)境研究可視化數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)環(huán)境VCDSv1.0編程實(shí)驗(yàn)(C++版)(編號(hào):22005502002A)參考手冊(cè)合肥工業(yè)大大學(xué)《數(shù)據(jù)結(jié)構(gòu)構(gòu)》課程程組2005年年7月15日DSSTTL類庫(kù)庫(kù)1.1DDSSTTL類庫(kù)庫(kù)概述數(shù)據(jù)結(jié)構(gòu)基基礎(chǔ)類模模板庫(kù)。這這是實(shí)驗(yàn)驗(yàn)環(huán)境所所用到的的最重要要也是最最基礎(chǔ)的的類庫(kù),其其中類名名全部以以大寫字字母D開(kāi)始,在在本文中中將此類類庫(kù)簡(jiǎn)稱稱為D類庫(kù)。DD類庫(kù)全全部以標(biāo)標(biāo)準(zhǔn)C+++語(yǔ)言言編寫,適適合于所所有標(biāo)準(zhǔn)準(zhǔn)C+++編譯器器且不依依賴第三三方類庫(kù)庫(kù)。它定定義了每每種數(shù)據(jù)據(jù)結(jié)構(gòu)的的最基本本的物理理實(shí)現(xiàn)部部分,提提供了數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)最基本本的邏輯輯操作,如如堆棧的的入棧和和出棧,并并采用了了C+++輸入輸輸出流機(jī)機(jī)制對(duì)數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)進(jìn)行存存儲(chǔ)。在數(shù)據(jù)層的的設(shè)計(jì)中中體現(xiàn)了了C+++的虛繼繼承與繼繼承的特特點(diǎn),采采用模板板技術(shù)實(shí)實(shí)現(xiàn)多種種數(shù)據(jù)類類型的代代碼封裝裝,大大大減少了了代碼的的冗余,整整個(gè)數(shù)據(jù)據(jù)層的設(shè)設(shè)計(jì)學(xué)習(xí)習(xí)VC中的的MFCC類庫(kù)的的特點(diǎn)達(dá)達(dá)到了結(jié)結(jié)構(gòu)明確確,層次次清晰,類類與類之之間的關(guān)關(guān)系緊密密。由于于整個(gè)軟軟件中的的數(shù)據(jù)結(jié)結(jié)構(gòu)較多多有八大大模塊,為為了很好好的實(shí)現(xiàn)現(xiàn)類的層層次架構(gòu)構(gòu),設(shè)計(jì)計(jì)過(guò)程中中設(shè)置了了數(shù)據(jù)層層基類DDObjjectt,然后后依據(jù)具具體模塊塊設(shè)置相相應(yīng)的類類層次,其其結(jié)構(gòu)框框架見(jiàn)附附錄一。1.2DDObjjecttDOjecct是數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)標(biāo)準(zhǔn)摸摸班類庫(kù)庫(kù)DSSSTL中中所有類類的基類類,定義義了許多多公用的的虛函數(shù)數(shù)。這些些虛函數(shù)數(shù)有相當(dāng)當(dāng)一部分分是純虛虛函數(shù),因因此無(wú)法法直接使使用DOOjecct來(lái)聲聲明對(duì)象象。常用用的方法法是使用用DOjjectt指針。1.2.11類層層次關(guān)系系正像前面介介紹的那那樣,DDObjjectt是整個(gè)個(gè)數(shù)據(jù)層層的基類類,包含含著各個(gè)個(gè)模塊的的公共操操作接口口,是一一個(gè)虛類類。1.2.22類成成員virtuualvvoiddOuutpuut(oostrreamm&oout))coonstt;——流輸出出函數(shù),保保存類中中數(shù)據(jù)virtuualvvoiddInnputt(isstreeam&&inn);——流輸入入函數(shù),讀讀取數(shù)據(jù)據(jù)virtuualvvoiddSaave((chaar*fnaame))coonstt;——將數(shù)據(jù)據(jù)保存到到文件中中virtuualvvoiddLooad((chaar*fnaame));——從文件件中取出出數(shù)據(jù)1.3線性性表1.3.11DLListtDListt是線性性表邏輯輯類。它它是具體體存儲(chǔ)類類型線性性表的基基類,同同樣它內(nèi)內(nèi)部封裝裝著底層層具體的的線性表表的公共共操作接接口。1.3.11.1類類層次關(guān)關(guān)系DObjeect∟DLisst相關(guān)類:DDObjjectt頭文件:DDLisst.hh成員說(shuō)明SetNuull原型:vooidSettNulll())用法:清除除線性表表內(nèi)容,無(wú)無(wú)返回值值。參數(shù):無(wú)示例:#inclludee“DDLisst.hh”voidmaiin()){DDlisst<iint>>liist;list..SettNulll());}輸出:無(wú)RemovveAlll原型:viirtuualvoiidRRemooveAAll()用法:將線線性表中中的數(shù)據(jù)據(jù)全部移移除,無(wú)無(wú)返回值值參數(shù):無(wú)示例:#inclludee“DDLisst.hh”voidmaiin()){DDlisst<iint>>liist;list..RemmoveeAlll();;}輸出:無(wú)IsEmppty原型:viirtuualbooolIIsEmmptyy())connst用法:判斷斷線性表表是否為為空,返返回類型型為布爾爾型參數(shù):無(wú)示例:#inclludee“DDLisst.hh”voidmaiin()){DDlisst<iint>>liist;list..IssEmppty();;}輸出:tuure或或著faalseeLengtth原型:viirtuualinttLeengtth(()coonstt用法:判斷斷線性表表的長(zhǎng)度度,返回回值為整整型參數(shù):無(wú)示例:#inclludee“DDLisst.hh”voidmaiin()){DDlisst<iint>>liist;list..Leengtth(();}輸出:整型型數(shù)值Searcch原型:viirtuualinttSeearcch((connstT&xx)coonstt用法:在線線性表中中查找元元素x,返回回值為整整型參數(shù):模板板類型參參數(shù)示例:#inclludee“DDLisst.hh”voidmaiin()){DDlisst<iint>>liist;list..Seearcch((23));}輸出:在線線性表中中查到數(shù)數(shù)據(jù)233所在的的位置,查查不到時(shí)時(shí)返回--1。Inserrt原型:viirtuualvoiidIInseert((inntkk,cconsstTT&x))用法:在線線性表中中第k個(gè)位置置插入元元素x,無(wú)返返回值參數(shù):模板板類型參參數(shù)示例:#inclludee“DDLisst.hh”voidmaiin()){DDlisst<iint>>liist;list..Innserrt(22,566);}輸出:無(wú) Deleete原型:viirtuualvoiidDDeleete(inntkk,TT&x))用法:刪除除線性表表中的第第k個(gè)元素素,將刪刪除的元元素放到到變量xx中,返返回值無(wú)無(wú)參數(shù):模板板類型參參數(shù)可以以是整型型,字符符型,雙雙精度類類型,字字符串類類型等。示例:#inclludee“DDLisst.hh”voidmaiin()){DDlisst<iint>>liist;list..Deelette(22,355);}輸出:無(wú)1.3.22DLListtSeqqDListtSeqq是線性性表模板板類,此此類命名名規(guī)則是是因?yàn)榇娲鎯?chǔ)結(jié)構(gòu)構(gòu)是順序序表結(jié)構(gòu)構(gòu)。它是是線性表表的具體體實(shí)現(xiàn)的的類。1.3.22.1類類層次關(guān)關(guān)系DOjecct∟DLisst∟DLisstSeeq相關(guān)類:DDojeect,,DLiist頭文件:DDLisstSeeq.hh1.3.22.2成成員說(shuō)明明SetNuull原型:vooidSettNulll())用法:清除除線性表表內(nèi)容,無(wú)無(wú)返回值值。參數(shù):無(wú)示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttseqq;listsseq..SettNulll());}輸出:無(wú)參閱:DLListt::SSetNNulllRemovveAlll原型:vooidRemmoveeAlll())用法:刪除除順序表表存儲(chǔ)的的線性表表中的所所有數(shù)據(jù)據(jù),返回回值無(wú)參數(shù):無(wú)示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttseqq;listsseq..RemmoveeAlll();;}輸出:無(wú)參閱:DLListt::RRemooveAAllSet原型:vooidSett(iintMaxxLisstSeeqSiize,,booolcoppy==trrue)用法:重新新設(shè)置順順序表線線性表的的最大長(zhǎng)長(zhǎng)度,返返回值無(wú)無(wú)參數(shù):MaaxLiistSSeqSSizee:設(shè)置置順序表表存儲(chǔ)的的線性表表的最大大長(zhǎng)度,布布爾變量量:coopy為為truue時(shí),將將原線性性表中的的數(shù)據(jù)拷拷貝到設(shè)設(shè)置為新新長(zhǎng)度的的線性表表中,否否則該線線性表清清空,最最大長(zhǎng)度度設(shè)置為為MaxxLisstSeeqLiist示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttseqq;listsseq..Sett(100,trrue));}輸出:無(wú)IsEmppty原型:viirtuualbooolIIsEmmptyy())connst用法:判斷斷線性表表是否為為空,返返回類型型為布爾爾型參數(shù):無(wú)示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttSeqq;listSSeq..IssEmppty();;}輸出:tuure::線性表表空或著著fallse::線性表表不為空空參閱:DLListt::IIsEmmptyyLengtth原型:viirtuualinttLeengtth(()coonstt用法:判斷斷線性表表的長(zhǎng)度度,返回回值為整整型參數(shù):無(wú)示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttSeqq;listSSeq..Leengtth(();}輸出:整型型數(shù)值參閱:DLListt::LLenggthSearcch原型:viirtuualinttSeearcch((connstT&xx)coonstt用法:在線線性表中中查找元元素x,返回回值為整整型參數(shù):模板板類型參參數(shù)針對(duì)對(duì)對(duì)象建建立的類類型而確確定示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttSeqq;listSSeq..Seearcch((a);;}輸出:在線線性表中中查到字字符型數(shù)數(shù)據(jù)a的位置置,查找找失敗時(shí)時(shí)返回--1。Inserrt原型:viirtuualvoiidIInseert((inntkk,cconsstTT&x))用法:在線線性表中中第k個(gè)位置置插入元元素x,無(wú)返返回值參數(shù):模板板類型參參數(shù):依依據(jù)建立立的對(duì)象象類型而而定示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttSeqq;listSSeq..Innserrt(66,y));}輸出:無(wú)Delette原型:viirtuualvoiidDDeleete(inntkk,TT&x))用法:刪除除線性表表中的第第k個(gè)元素素,將刪刪除的元元素放到到變量xx中,返返回值無(wú)無(wú)參數(shù):模板板類型參參數(shù)可以以是整型型,字符符型,雙雙精度類類型,字字符串類類型等。示例:#inclludee“DDLisst.hh”voidmaiin()){DDlisst<ccharr>llistt; chharx;list..Deelette(22,x));}輸出:無(wú)參閱:DLListt::DDeleeteGet原型:viirtuualbooolGGet((inntkk,TT&xx)connst用法:取順順序表存存儲(chǔ)的線線性表中中的第kk個(gè)元素素,將該該元素放放到變量量x中,返返回值為為布爾值值參數(shù):第一一個(gè)參數(shù)數(shù):表示示線性表表中的第第k個(gè)位置置,第二個(gè)個(gè)參數(shù)模模板類型型參數(shù)可可以是整整型,字字符型,雙雙精度類類型,字字符串類類型等。示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisSSeq; chharx;list..Geet(22,x));}輸出:trrue或或著faalseeoperaatorr[]原型:T&opperaatorr[]((inntii)用法:重載載運(yùn)算符符[],,取順序序表存儲(chǔ)儲(chǔ)的線性性表中下下標(biāo)是ii的元素素,返回值值為建立立對(duì)象的的數(shù)據(jù)類類型參數(shù):表示示線性表表中的第第i個(gè)位置置的數(shù)據(jù)據(jù)示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisSSeq; chharx;x=llisttSeqq[i]];}輸出:返回回第i個(gè)數(shù)據(jù)據(jù)Outpuut原型:vooidOuttputt(oostrreamm&oout))connst用法:將數(shù)數(shù)據(jù)以流流的形式式輸出,無(wú)無(wú)返回值值參數(shù):ouut輸出出流變量量。示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttSeqq; offstrreammooutFFilee(“d::\\lli1..txtt”); lisstSeeq.OOutpput((ouutFiile);;}輸出:無(wú)Inputt原型:vooidInpput((isstreeam&inn)用法:將數(shù)數(shù)據(jù)以流流的形式式輸入,無(wú)無(wú)返回值值參數(shù):inn輸入流流變量。示例:#inclludee“DDLisstSeeq.hh”voidmaiin()){DDlisstSeeq<ccharr>llisttSeqq; iffstrreammiinFiile(“dd:\\\li11.txxt”)); lisstSeeq.IInpuut(inFFilee);}輸出:無(wú)說(shuō)明:Innputt和OuttPutt兩個(gè)函函數(shù)接口口一般不不在數(shù)據(jù)據(jù)層使用用,而應(yīng)應(yīng)用在視視化框架架中的導(dǎo)導(dǎo)入導(dǎo)出出操作中中。1.4棧1.4.11DSStacck1.4.11.1類類層次關(guān)關(guān)系DOjecct∟DStaack相關(guān)類:DDOjeect頭文件:DDStaack..h1.4.11.2成成員說(shuō)明明Push原型:booolPussh(TTittem))=0用法:將數(shù)數(shù)據(jù)ittem入棧,純純虛函數(shù)數(shù)在子類類中實(shí)現(xiàn)現(xiàn)。返回回值為布布爾值。參數(shù):入棧棧數(shù)據(jù),類類型與建建立的對(duì)對(duì)象數(shù)據(jù)據(jù)類型一一致Pop原型:booolPoop(TT&vvaluue)==0用法:將棧棧頂數(shù)據(jù)據(jù)出棧放放到變量量vallue中中,返回回值為布布爾值。參數(shù):出棧棧數(shù)據(jù)所所放位置置的變量量,類型型與建立立的對(duì)象象數(shù)據(jù)類類型一致致Lengtth原型:inntLeengtth())coonstt=0用法:返回回棧中數(shù)數(shù)據(jù)長(zhǎng)度度,純虛虛函數(shù)在在子類中中實(shí)現(xiàn)。返返回值::整型。參數(shù):無(wú)GetToop原型: TTGGetTTop(()=00用法:取棧棧頂數(shù)據(jù)據(jù),純虛虛函數(shù)在在子類中中實(shí)現(xiàn)。返返回值::返回棧棧頂數(shù)據(jù)據(jù),數(shù)據(jù)據(jù)類型為為建立的的對(duì)象的的數(shù)據(jù)類類型。參數(shù):無(wú)IsEmppty原型:booolIssEmppty(()cconsst用法:判斷斷棧是否否為空,純純虛函數(shù)數(shù)在子類類中實(shí)現(xiàn)現(xiàn)。返回回值為布布爾值。參數(shù):無(wú)Clearr原型:booolCllearr()用法:清空空棧,純純虛函數(shù)數(shù)在子類類中實(shí)現(xiàn)現(xiàn)。返回回值為布布爾值。參數(shù):無(wú)GetNoodeNNum原型:viirtuualinttGGetNNodeeNumm()connst==0用法:純虛虛函數(shù),供供在子類類中被重重載,返返回值為為整型。參數(shù):無(wú)Inputt原型:viirtuualvoiidIInpuut(isttreaam&&in))=0用法:純虛虛函數(shù),供供在子類類中被重重載,返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)Outpuut原型:viirtuualvoiidOOutpput((osstreeam&ouut)cconsst用法:虛函函數(shù),供供在子類類中被重重載,返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)1.4.22DsstacckSeeq1.4.22.1類類層次關(guān)關(guān)系DOjecct∟DStaack∟DStaackSSeq相關(guān)類:DDojeect,,DSttackk頭文件:DDStaack..h1.4.11.2成成員說(shuō)明明 Pushh原型:booolPussh(TTittem))用法:將數(shù)數(shù)據(jù)ittem入棧,返返回值為為布爾值值。參數(shù):入棧棧數(shù)據(jù),類類型與建建立的對(duì)對(duì)象數(shù)據(jù)據(jù)類型一一致示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackSSeq<<Dsttrinng>sttackkSeqq;Dsttrinngxx;CCin>>>xx;stackkSeqq..PPushh(x));}輸出:入棧棧操作成成功返回回truue,否否則為ffalsse參閱:Dsstacck:::PusshPop原型:booolPoop(TT&vvaluue)用法:將棧棧頂數(shù)據(jù)據(jù)出棧放放到變量量vallue中中,返回回值為布布爾值。參數(shù):出棧棧數(shù)據(jù)所所放位置置的變量量,類型型與建立立的對(duì)象象數(shù)據(jù)類類型一致致示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackSSeq<<Dsttrinng>sttackkSeqq; Dsstriingx;sstacck.SSeq..Popp(x));}輸出:出棧棧操作成成功返回回truue,否否則為ffalsse參閱:Dsstacck:::PoppLengtth原型:inntLeengtth())coonstt用法:返回回棧中數(shù)數(shù)據(jù)長(zhǎng)度度,返回回值:整整型。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackSSeq<<Dsttrinng>sttackkSeqq; sttackk.Seeq.LLenggth(();}輸出:棧長(zhǎng)長(zhǎng)度:整整型值參閱:DLListt::LLenggth,DliistSSeq:::Leengtth,DDstaack:::LeengtthGetToop原型: TTGGetTTop(()用法:取棧棧頂數(shù)據(jù)據(jù),返回回值:返返回棧頂頂數(shù)據(jù),數(shù)數(shù)據(jù)類型型為建立立的對(duì)象象的數(shù)據(jù)據(jù)類型。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackSSeq<<Dsttrinng>sttackkSeqq; DsstriingstrrDatta; SttrDaata=sstacckSeeq...GettTopp();;}輸出:棧頂頂數(shù)據(jù)IsEmppty原型:booolIssEmppty(()cconsst用法:判斷斷棧是否否為空,返返回值為為布爾值值。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackSSeq<<Dsttrinng>sttackkSeqq; sttackk.Seeq.IIsEmmptyy();;}輸出:faalsee表示示棧不空空,否則則為空參閱:DLListt::IIsEmmptyy,DDlisstSeeq:::IsEEmptty,DDstaack:::IssEmpptyClearr原型:booolCllearr()用法:清空空棧,返返回值為為布爾值值。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackSSeq<<Dsttrinng>sttackkSeqq; sttackkSeqq..CCleaar());}輸出:返回回值為ttruee表示示棧被清清空GetNoodeNNum原型:viirtuualinttGGetNNodeeNumm()connst用法:獲得得棧中數(shù)數(shù)據(jù)個(gè)數(shù)數(shù),返回回值為整整型。參數(shù):無(wú)示例:#iinclludee“DDStaack..h”voidmaiin()){DDstaackSSeq<<Dsttrinng>sttackkSeqq; inntxx;x=staackSSeq...GeetNoodeNNum(();}輸出:返回回值為ttruee表示示棧被清清空參閱:Dsstacck:::GettNoddeNuumInputt原型:viirtuualvoiidIInpuut(isttreaam&&in))用法:以流流的方式式讀入數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:DLListt::IInpuut,DliistSSeq:::Innputt,Dsstacck:::InpputOutpuut原型:viirtuualvoiidOOutpput((osstreeam&ouut)cconsst用法:以流流的方式式保存數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:DLListt::OOutpput,DliistSSeq:::Ouutpuut,DDstaack:::OuutpuutSetDaata原型:vooidSeetDaata((Tddataa,inntNNodeeNumm)用法:將棧棧中第NNodeeNumm個(gè)數(shù)據(jù)據(jù)設(shè)置為為datta值,返返回值無(wú)無(wú)。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackSSeq<<Dsttrinng>sttackkSeqq; sttackkSeqq..SSetDDataa(x,,staack..Lenngthh()--1);;}輸出:無(wú)參閱:DLListt::IInseeartt,DDlisstSeeq:::InssearrtInputt_i原型:vooidInpput__i(inttNoodeNNum,,isttreaam&&in))用法:以流流的方式式讀入第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)Outpuut_ii原型:vooidOuttputt_i((inntNNodeeNumm,osstreeam&ouut)用法:以流流的方式式取出第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)1.4.33DsttackkLinnk1.4.33.1類類層次關(guān)關(guān)系DOjecct∟DStaack∟DStaackLLinkk相關(guān)類:DDojeect,,DSttackk頭文件:DDStaack..h1.4.33.2成成員說(shuō)明明 Pushh原型:booolPussh(TTittem))用法:將數(shù)數(shù)據(jù)ittem入棧,返返回值為為布爾值值。參數(shù):入棧棧數(shù)據(jù),類類型與建建立的對(duì)對(duì)象數(shù)據(jù)據(jù)類型一一致示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackLLinkk<Dsstriing>>*sstacckLiink;; Dsstriingx;CCin>>>xx;StackkLinnk->>Pussh(xx);}輸出:入棧棧操作成成功返回回truue,否否則為ffalsse參閱:Dsstacck:::Pussh,DsttackkSeqq::PPushhPop原型:booolPoop(TT&vvaluue)用法:將棧棧頂數(shù)據(jù)據(jù)出棧放放到變量量vallue中中,返回回值為布布爾值。參數(shù):出棧棧數(shù)據(jù)所所放位置置的變量量,類型型與建立立的對(duì)象象數(shù)據(jù)類類型一致致示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackLLinkk<Dsstriing>>*sstacckLiink;; Dsstriingx;sstacck.LLinkk->PPop((x);;}輸出:出棧棧操作成成功返回回truue,否否則為ffalsse參閱:Dsstacck:::Popp,DDstaackSSeq:::PoopLengtth原型:inntLeengtth())coonstt用法:返回回棧中數(shù)數(shù)據(jù)長(zhǎng)度度,返回回值:整整型。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackLLinkk<Dsstriing>>*staackLLinkk; sttackk.Liink-->Leengtth());}輸出:棧長(zhǎng)長(zhǎng)度:整整型值參閱:DLListt::LLenggth,DliistLLinkk::LLenggth,,Dsttackk::LLenggth,,DsstacckSeeq:::LenngthhGetToop原型: TTGGetTTop(()用法:取棧棧頂數(shù)據(jù)據(jù),返回回值:返返回棧頂頂數(shù)據(jù),數(shù)數(shù)據(jù)類型型為建立立的對(duì)象象的數(shù)據(jù)據(jù)類型。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackLLinkk<Dsstriing>>*staackLLinkk; DsstriingstrrDatta; SttrDaata=sstacckLiink-->GeetToop());}輸出:棧頂頂數(shù)據(jù)參閱:DsstacckSeeq:::GettToppIsEmppty原型:booolIssEmppty(()cconsst用法:判斷斷棧是否否為空,返返回值為為布爾值值。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackLLinkk<Dsstriing>>*staackLLinkk; sttackk.Liink-->IssEmppty(();}輸出:faalsee表示示棧不空空,否則則為空參閱:DLListt::IIsEmmptyy,DDlisstLiink:::IssEmppty,,Dsttackk::IIsEmmptyy,DDstaackSSeq:::IssEmpptyClearr原型:booolCllearr()用法:清空空棧,返返回值為為布爾值值。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackLLinkk<Dsstriing>>*staackLLinkk; sttackkLinnk->>Cleear(();}輸出:返回回值為ttruee表示示棧被清清空參閱:DsstacckSeeq:::CleearGetNoodeNNum原型:viirtuualinttGGetNNodeeNumm()connst用法:獲得得棧中數(shù)數(shù)據(jù)個(gè)數(shù)數(shù),返回回值為整整型。參數(shù):無(wú)示例:#iinclludee“DDStaack..h”voidmaiin()){DDstaackLLinkk<Dsstriing>>*staackLLinkk; inntxx; x=sstacckLiink-->GeetNoodeNNum(();}輸出:返回回值為ttruee表示示棧被清清空參閱:Dsstacck:::GettNoddeNuum,DsttackkSeqq::GGetNNodeeNummInputt原型:viirtuualvoiidIInpuut(isttreaam&&in))用法:以流流的方式式讀入數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:DLListt::IInpuut,DliistLLinkk::IInpuut,DDstaack:::Innputt,DDstaackSSeq:::InnputtOutpuut原型:viirtuualvoiidOOutpput((osstreeam&ouut)cconsst用法:以流流的方式式保存數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:DLListt::OOutpput,DliistLLinkk::OOutpput,,Dsttackk::OOutpput,,DsstacckSeeq:::OuttputtSetDaata原型:vooidSeetDaata((Tddataa,inntNNodeeNumm)用法:將棧棧中第NNodeeNumm個(gè)數(shù)據(jù)據(jù)設(shè)置為為datta值,返返回值無(wú)無(wú)。參數(shù):無(wú)示例:#inclludee“DDStaack..h”voidmaiin()){DDstaackLLinkk<Dsstriing>>*staackLLinkk; sttackkLinnk->>SettDatta(xx,sttackk.Leengtth())-1));}輸出:無(wú)參閱:DLListt::IInseeartt,DDlisstLiink:::Innseaart,,DsttackkSeqq::SSetDDataaInputt_i原型:vooidInpput__i(inttNoodeNNum,,isttreaam&&in))用法:以流流的方式式讀入第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:DsstacckSeeq:::Inpput__iOutpuut_ii原型:vooidOuttputt_i((inntNNodeeNumm,osstreeam&ouut)用法:以流流的方式式取出第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:DsstacckSeeq::: Outtputt_i說(shuō)明:DsstacckSeeq與DsttackkLinnk所所具有的的函數(shù)接接口實(shí)現(xiàn)現(xiàn)效果一一致,因因?yàn)榇鎯?chǔ)儲(chǔ)結(jié)構(gòu)不不同,因因而實(shí)現(xiàn)現(xiàn)具體內(nèi)內(nèi)容不同同。1.5隊(duì)列列1.5.11DQQueuue1.5.11.1類類層次關(guān)關(guān)系DOjecct∟DQueeue相關(guān)類:DDOjeect頭文件:DDQueeue..h1.5.11.2成員說(shuō)說(shuō)明EnQueeue原型:viirtuualbooolEnQQueuue(TTittem))=0用法:將數(shù)數(shù)據(jù)ittem入隊(duì),純純虛函數(shù)數(shù)在子類類中實(shí)現(xiàn)現(xiàn)。返回回值為布布爾值。參數(shù):入棧棧數(shù)據(jù),類類型與建建立的對(duì)對(duì)象數(shù)據(jù)據(jù)類型一一致DeQueeue原型:viirtuualbooolDDeQuueuee(T&vaaluee)=00用法:取出出隊(duì)首數(shù)數(shù)據(jù)放到到變量vvaluue中,返返回值為為布爾值值。參數(shù):出隊(duì)隊(duì)列數(shù)據(jù)據(jù)所放位位置的變變量,類類型與建建立的對(duì)對(duì)象數(shù)據(jù)據(jù)類型一一致GetHeead原型:viirtuualTGGetHHeadd()==0用法:取隊(duì)隊(duì)首數(shù)據(jù)據(jù),純虛虛函數(shù)在在子類中中實(shí)現(xiàn)。返返回值為為建立對(duì)對(duì)象的類類型。參數(shù):無(wú)GetReear原型:viirtuualTGGetRRearr()==0用法:取隊(duì)隊(duì)尾數(shù)據(jù)據(jù),返回回值為取取到的隊(duì)隊(duì)尾數(shù)據(jù)據(jù),類型型為建立立對(duì)象的的類型。參數(shù):無(wú)Lengtth原型:inntLeengtth())coonstt=0用法:返回回棧中數(shù)數(shù)據(jù)長(zhǎng)度度,純虛虛函數(shù)在在子類中中實(shí)現(xiàn)。返返回值::整型。參數(shù):無(wú)IsEmppty原型:booolIssEmppty(()cconsst用法:判斷斷棧是否否為空,純純虛函數(shù)數(shù)在子類類中實(shí)現(xiàn)現(xiàn)。返回回值為布布爾值。參數(shù):無(wú)Clearr原型:booolCllearr()用法:清空空棧,純純虛函數(shù)數(shù)在子類類中實(shí)現(xiàn)現(xiàn)。返回回值為布布爾值。參數(shù):無(wú)GetNoodeNNum原型:viirtuualinttGGetNNodeeNumm()connst==0用法:純虛虛函數(shù),供供在子類類中被重重載,返返回值為為整型。參數(shù):無(wú)Inputt原型:viirtuualvoiidIInpuut(isttreaam&&in))=0用法:純虛虛函數(shù),供供在子類類中被重重載,返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)Outpuut原型:viirtuualvoiidOOutpput((osstreeam&ouut)cconsst用法:虛函函數(shù),供供在子類類中被重重載,返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)1.5.22DQQueuueSeeq1.5.22.1類類層次關(guān)關(guān)系DOjecct∟DQueeue∟DQueeueSSeq相關(guān)類:DDojeect,,DQuueuee頭文件:DDQueeue..h1.5.22.2成成員說(shuō)明明GetHeead原型:TGeetHeead(()用法:取隊(duì)隊(duì)首元素素,返回回值:返返回所取取隊(duì)首數(shù)數(shù)據(jù),類類型為建建立對(duì)象象所對(duì)應(yīng)應(yīng)的類型型。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; Dsstriingx;xx=QueeueSSeq..GeetHeead();;}輸出:返回回所取隊(duì)隊(duì)首數(shù)據(jù)據(jù)參閱:DQQueuue:::GeetHeeadGetReear原型:TGeetReear(()用法:取隊(duì)隊(duì)尾數(shù)據(jù)據(jù),返回回值:返返回所取取隊(duì)尾數(shù)數(shù)據(jù),數(shù)數(shù)據(jù)類型型與所見(jiàn)見(jiàn)對(duì)象類類型一致致。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; Dsstriingx;xx=QueeueSSeq..GettReaar());}輸出:返回回所取隊(duì)隊(duì)尾數(shù)據(jù)據(jù)參閱:DQQueuue:::GettReaarEnQueeue原型:booolEnQQueuue((Tiitemm)用法:將數(shù)數(shù)據(jù)ittem入隊(duì)列列,返回回值為布布爾值。參數(shù):入隊(duì)隊(duì)列數(shù)據(jù)據(jù),類型型與建立立的對(duì)象象數(shù)據(jù)類類型一致致示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; Dsstriingx;CCin>>>xx;QueueeSeqq.EEnQuueuee(xx);}輸出:入隊(duì)隊(duì)操作成成功返回回truue,否否則為ffalsse參閱:DQQueuue:::EnnQueeueDeQueeue原型:booolDeQQueuue(TT&vvaluue)用法:將隊(duì)隊(duì)首數(shù)據(jù)據(jù)出隊(duì)列列放到變變量vaaluee中,返返回值為為布爾值值。參數(shù):出隊(duì)隊(duì)列數(shù)據(jù)據(jù)所放位位置的變變量,類類型與建建立的對(duì)對(duì)象數(shù)據(jù)據(jù)類型一一致示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; Dsstriingx;QQueuueSeeq.DDeQuueuee(x));}輸出:出隊(duì)隊(duì)操作成成功返回回truue,否否則為ffalsse參閱:DQQueuue:::DeQQueuueLengtth原型:inntLeengtth())coonstt用法:返回回隊(duì)列中中數(shù)據(jù)長(zhǎng)長(zhǎng)度,返返回值::整型。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; QuueueeSeqq.LLenggth(();}輸出:隊(duì)列列長(zhǎng)度::整型值值參閱:DLListt::LLenggth,DliistSSeq:::Leengtth,DDQueeue:::LeengtthIsEmppty原型:booolIssEmppty(()cconsst用法:判斷斷隊(duì)列是是否為空空,返回回值為布布爾值。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; QuueueeSeqq.IssEmppty(();}輸出:faalsee表示示棧不空空,否則則為空參閱:DLListt::IIsEmmptyy,DDlisstSeeq:::IsEEmptty,DDstaack:::IssEmppty,,DQuueuee::IIsEmmptyyClearr原型:booolCllearr()用法:清空空隊(duì)列,返返回值為為布爾值值。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; QuueueeSeqq.Cllearr();;}輸出:返回回值為ttruee表示示隊(duì)列被被清空GetNoodeNNum原型:viirtuualinttGGetNNodeeNumm()connst用法:獲得得隊(duì)列中中數(shù)據(jù)個(gè)個(gè)數(shù),返返回值為為整型。參數(shù):無(wú)示例:#iinclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; inntxx; x=QQueuueSeeq...GettNoddeNuum());}輸出:返回回值為ttruee表示示隊(duì)列被被清空參閱:DQQueuue:::GettNoddeNuum,Dsttackk::GGetNNodeeNummInputt原型:viirtuualvoiidIInpuut(isttreaam&&in))用法:以流流的方式式讀入數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:DLListt::IInpuut,DliistSSeq:::Innputt,DQQueuue:::Inpput,,Dsstacck:::InpputOutpuut原型:viirtuualvoiidOOutpput((osstreeam&ouut)cconsst用法:以流流的方式式保存數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:DLListt::OOutpput,DliistSSeq:::Ouutpuut,DDQueeue:::Ouutpuut,Dsttackk::OOutpputSetDaata原型:vooidSeetDaata((Tddataa,inntNNodeeNumm)用法:將隊(duì)隊(duì)列中第第NoddeNuum個(gè)數(shù)數(shù)據(jù)設(shè)置置為daata值值,返回回值無(wú)。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueSSeq<<Dsttrinng>QuueueeSeqq; QuueueeSeqq.SeetDaata((x,QQueuueSeeq.LLenggth(()-11);}輸出:無(wú)參閱:DLListt::IInseeartt,DDlisstSeeq:::Inssearrt,Dsttackk::SSetDDataaInputt_i原型:vooidInpput__i(inttNoodeNNum,,isttreaam&&in))用法:以流流的方式式讀入第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:Dsstacck:::Inpput__iOutpuut_ii原型:vooidOuttputt_i((inntNNodeeNumm,osstreeam&ouut)用法:以流流的方式式取出第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:Dsstacck:::Outtputt_i1.5.33DQQueuueLiink1.5.33.1類類層次關(guān)關(guān)系DOjecct∟DQueeue∟DQueeueLLinkk相關(guān)類:DDojeect,,DQuueuee頭文件:DDQueeue..h1.5.33.2成成員說(shuō)明明GetHeead原型:TGeetHeead(()用法:取隊(duì)隊(duì)首元素素,返回回值:返返回所取取隊(duì)首數(shù)數(shù)據(jù),類類型為建建立對(duì)象象所對(duì)應(yīng)應(yīng)的類型型。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QQueuueLiink;; Dsstriingx;xx=QueeueLLinkk->GGetHHeadd());}輸出:返回回所取隊(duì)隊(duì)首數(shù)據(jù)據(jù)參閱:DQQueuue:::GeetHeead,,DqqueuuqSeeq:::GettHeaadGetReear原型:TGeetReear(()用法:取隊(duì)隊(duì)尾數(shù)據(jù)據(jù),返回回值:返返回所取取隊(duì)尾數(shù)數(shù)據(jù),數(shù)數(shù)據(jù)類型型與所見(jiàn)見(jiàn)對(duì)象類類型一致致。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QQueuueLiink;; Dsstriingx;xx=QueeueLLinkk->GGetRRearr();;}輸出:返回回所取隊(duì)隊(duì)尾數(shù)據(jù)據(jù)參閱:DQQueuue:::GettReaar,DquueuqqSeqq::GGetRRearrEnQueeue原型:booolEnQQueuue((Tiitemm)用法:將數(shù)數(shù)據(jù)ittem入隊(duì)列列,返回回值為布布爾值。參數(shù):入隊(duì)隊(duì)列數(shù)據(jù)據(jù),類型型與建立立的對(duì)象象數(shù)據(jù)類類型一致致示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QueeueLLinkk; Dsstriingx;CCin>>>xx;QueueeLinnk->>EnQQueuue((x);;}輸出:入隊(duì)隊(duì)操作成成功返回回truue,否否則為ffalsse參閱:DQQueuue:::EnnQueeue..DqqueuuqSeeq:::EnQQueuueDeQueeue原型:booolDeQQueuue(TT&vvaluue)用法:將隊(duì)隊(duì)首數(shù)據(jù)據(jù)出隊(duì)列列放到變變量vaaluee中,返返回值為為布爾值值。參數(shù):出隊(duì)隊(duì)列數(shù)據(jù)據(jù)所放位位置的變變量,類類型與建建立的對(duì)對(duì)象數(shù)據(jù)據(jù)類型一一致示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QQueuueLiink;; Dsstriingx;QQueuueLiink-->DeeQueeue((x);;}輸出:出隊(duì)隊(duì)操作成成功返回回truue,否否則為ffalsse參閱:DQQueuue:::DeQQueuue,DquueuqqSeqq::DDeQuueueeLengtth原型:inntLeengtth())coonstt用法:返回回隊(duì)列中中數(shù)據(jù)長(zhǎng)長(zhǎng)度,返返回值::整型。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QQueuueLiink;; QuueueeLinnk->>Lenngthh();;}輸出:隊(duì)列列長(zhǎng)度::整型值值參閱:DLListt::LLenggth,DliistSSeq:::Leengtth,DDQueeue:::Leengtth,DquueuqqSeqq::LLenggthIsEmppty原型:booolIssEmppty(()cconsst用法:判斷斷隊(duì)列是是否為空空,返回回值為布布爾值。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QQueuueLiink;; QuueueeLinnk->>IsEEmptty());}輸出:faalsee表示示棧不空空,否則則為空參閱:DLListt::IIsEmmptyy,DDlisstSeeq:::IsEEmptty,DDstaack:::IssEmppty,,DQuueuee::IIsEmmptyy,DDqueeuqSSeq:::IssEmpptyClearr原型:booolCllearr()用法:清空空隊(duì)列,返返回值為為布爾值值。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QQueuueLiink;; QuueueeLinnk->>Cleear(();}輸出:返回回值為ttruee表示示隊(duì)列被被清空參閱:Dsstacck:::Cleear,,DqqueuuqSeeq:::CleearGetNoodeNNum原型:viirtuualinttGGetNNodeeNumm()connst用法:獲得得隊(duì)列中中數(shù)據(jù)個(gè)個(gè)數(shù),返返回值為為整型。參數(shù):無(wú)示例:#iinclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QQueuueLiink;; inntxx; x=QQueuueLiink-->GeetNoodeNNum(();}輸出:返回回值為ttruee表示示隊(duì)列被被清空參閱:DQQueuue:::GettNoddeNuum,Dsttackk::GGetNNodeeNumm,DDqueeuqSSeq:::GeetNoodeNNumInputt原型:viirtuualvoiidIInpuut(isttreaam&&in))用法:以流流的方式式讀入數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:DLListt::IInpuut,DliistSSeq:::Innputt,DQQueuue:::Inpput,,Dsstacck:::Inpput,,DqqueuuqSeeq:::InpputOutpuut原型:viirtuualvoiidOOutpput((osstreeam&ouut)cconsst用法:以流流的方式式保存數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:DLListt::OOutpput,DliistSSeq:::Ouutpuut,DDQueeue:::Ouutpuut,Dsttackk::OOutpput,,DqqueuuqSeeq:::OuttputtSetDaata原型:vooidSeetDaata((Tddataa,inntNNodeeNumm)用法:將隊(duì)隊(duì)列中第第NoddeNuum個(gè)數(shù)數(shù)據(jù)設(shè)置置為daata值值,返回回值無(wú)。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueLLinkk<Dsstriing>>*QQueuueLiink;; QuueueeLinnk->>SettDatta(xx,QuueueeLinnk.LLenggth(()-11);}輸出:無(wú)參閱:DLListt::IInseeartt,DDlisstSeeq:::Inssearrt,Dsttackk::SSetDDataa,DDqueeuqSSeq:::SeetDaataInputt_i原型:vooidInpput__i(inttNoodeNNum,,isttreaam&&in))用法:以流流的方式式讀入第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:Dsstacck:::Inpput__i,DquueuqqSeqq::IInpuut_iiOutpuut_ii原型:vooidOuttputt_i((inntNNodeeNumm,osstreeam&ouut)用法:以流流的方式式取出第第NodeeNumm個(gè)數(shù)據(jù)據(jù),返回回值無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:Dsstacck:::Outtputt_i,,DqqueuuqSeeq:::Outtputt_i1.5.44DQQueuueCyyc1.5.44.1類類層次關(guān)關(guān)系DOjecct∟DQueeue∟DQueeueCCyc相關(guān)類:DDojeect,,DQuueuee頭文件:DDQueeue..h1.5.44.2成成員說(shuō)明明IsInQQueuue原型:booolIsIInQuueuee(inntkk)coonstt用法:判斷斷下標(biāo)kk是否在在循環(huán)隊(duì)隊(duì)列中,返返回值::布爾類類型。參數(shù):字符符指針::文件名名示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; QuueueeCycc.IssInQQueuue(33);}輸出:下標(biāo)標(biāo)k在循環(huán)環(huán)體中時(shí)時(shí)返回ttruee,否則則返回ffalsse.Save原型:viirtuualvoiidSSavee(chhar*ffnamme)用法:將循循環(huán)隊(duì)列列數(shù)據(jù)保保存到文文件fnnamee中,返返回值無(wú)無(wú)。參數(shù):字符符指針::文件名名示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; QuueueeCycc.Saave(“dd:\\\dquueueecycc.txxt”));}ChanggBoddyLeengtth原型:viirtuualvoiidCChanngBoodyLLenggth((inttleen)用法:重新新設(shè)置循循環(huán)隊(duì)列列長(zhǎng)度,返返回值無(wú)無(wú)。參數(shù):整型型:設(shè)置置整型值值示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; QuueueeCycc.ChhanggBoddyLeengtth(QQueuueCyyc.LLenggth(()+55);}GetHeead原型:TGeetHeead(()用法:取隊(duì)隊(duì)首指針針froont后后一個(gè)元元素,返返回值::返回所所取隊(duì)首首數(shù)據(jù),類類型為建建立對(duì)象象所對(duì)應(yīng)應(yīng)的類型型。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; Dsstriingx;xx=QueeueCCyc..GettHeaad(();}輸出:返回回所取隊(duì)隊(duì)首數(shù)據(jù)據(jù)參閱:DQQueuue:::GeetHeead,,DqqueuuqSeeq:::GettHeaad,DDqueeueLLinkk::GGetHHeaddGetReear原型:TGeetReear(()用法:取隊(duì)隊(duì)尾指針針?biāo)赶蛳虻臄?shù)據(jù)據(jù),返回回值:返返回所取取隊(duì)尾數(shù)數(shù)據(jù),數(shù)數(shù)據(jù)類型型與所見(jiàn)見(jiàn)對(duì)象類類型一致致。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; Dsstriingx;xx=QueeueCCyc..GettReaar());}輸出:返回回所取隊(duì)隊(duì)尾數(shù)據(jù)據(jù)參閱:DQQueuue:::GettReaar,DquueuqqSeqq::GGetRRearr,DDqueeueLLinkk::GGetRRearrEnQueeue原型:booolEnQQueuue((Tiitemm)用法:將數(shù)數(shù)據(jù)ittem入隊(duì)列列,返回回值為布布爾值。參數(shù):入隊(duì)隊(duì)列數(shù)據(jù)據(jù),類型型與建立立的對(duì)象象數(shù)據(jù)類類型一致致示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; Dsstriingx;CCin>>>xx;QueueeCycc.EnnQueeue(x));}輸出:入隊(duì)隊(duì)操作成成功返回回truue,否否則為ffalsse參閱:DQQueuue:::EnnQueeue..DqqueuuqSeeq:::EnQQueuue,DquueueeLinnk:::EnQQueuueDeQueeue原型:booolDeQQueuue(TT&vvaluue)用法:將隊(duì)隊(duì)首數(shù)據(jù)據(jù)出隊(duì)列列放到變變量vaaluee中,返返回值為為布爾值值。參數(shù):出隊(duì)隊(duì)列數(shù)據(jù)據(jù)所放位位置的變變量,類類型與建建立的對(duì)對(duì)象數(shù)據(jù)據(jù)類型一一致示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; Dsstriingx;QQueuueCyyc.DDeQuueuee(x));}輸出:出隊(duì)隊(duì)操作成成功返回回truue,否否則為ffalsse參閱:DQQueuue:::DeQQueuue,DquueuqqSeqq::DDeQuueuee,DDqueeueLLinkk::DDeQuueueeLengtth原型:inntLeengtth())coonstt用法:返回回隊(duì)列中中數(shù)據(jù)長(zhǎng)長(zhǎng)度,返返回值::整型。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QQueuueCyyc; QuueueeCycc.Leengtth());}輸出:隊(duì)列列長(zhǎng)度::整型值值參閱:DLListt::LLenggth,DliistSSeq:::Leengtth,DDQueeue:::Leengtth,DquueuqqSeqq::LLenggthIsEmppty原型:booolIssEmppty(()cconsst用法:判斷斷隊(duì)列是是否為空空,返回回值為布布爾值。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; QuueueeCycc.IssEmppty(();}輸出:faalsee表示示隊(duì)列不不空,否否則為空空參閱:DLListt::IIsEmmptyy,DDlisstSeeq:::IsEEmptty,DDstaack:::IssEmppty,,DQuueuee::IIsEmmptyy,DDqueeuqSSeq:::IssEmppty,,DqqueuueLiink:::IssEmpptyIsFulll原型:booolIsFFulll()用法:判斷斷隊(duì)列是是否已滿滿,返回回值為布布爾值。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; QuueueeCycc.IssFulll());}輸出:faalsee表示示循環(huán)隊(duì)隊(duì)列不空空,否則則已滿Clearr原型:booolCllearr()用法:清空空隊(duì)列,返返回值為為布爾值值。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; QuueueeCycc.Cllearr();;}輸出:返回回值為ttruee表示示隊(duì)列被被清空參閱:Dsstacck:::Cleear,,DqqueuuqSeeq:::Cleear,,DqqueuueLiink:::CllearrGetNoodeNNum原型:viirtuualinttGGetNNodeeNumm()connst用法:獲得得隊(duì)列中中數(shù)據(jù)個(gè)個(gè)數(shù),返返回值為為整型。參數(shù):無(wú)示例:#iinclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; inntxx; x=QQueuueCyyc.GGetNNodeeNumm();;}輸出:隊(duì)列列中的數(shù)數(shù)據(jù)個(gè)數(shù)數(shù)參閱:DQQueuue:::GettNoddeNuum,Dsttackk::GGetNNodeeNumm,DDqueeuqSSeq:::GeetNoodeNNum,,DqqueuueLiink:::GeetNoodeNNumInputt原型:viirtuualvoiidIInpuut(isttreaam&&in))用法:以流流的方式式讀入數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:DLListt::IInpuut,DliistSSeq:::Innputt,DQQueuue:::Inpput,,Dsstacck:::Inpput,,DqqueuuqSeeq:::Inpput,,DqqueuueLiink:::InnputtOutpuut原型:viirtuualvoiidOOutpput((osstreeam&ouut)cconsst用法:以流流的方式式保存數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:DLListt::OOutpput,DlisstSeeq:::Outtputt,DQQueuue:::Outtputt,DDstaack:::Ouutpuut,DquueuqqSeqq::OOutpput,,DqqueuueLiink:::OuutpuutSetDaata原型:vooidSeetDaata((Tddataa,inntNNodeeNumm)用法:將隊(duì)隊(duì)列中第第NoddeNuum個(gè)數(shù)數(shù)據(jù)設(shè)置置為daata值值,返回回值無(wú)。參數(shù):無(wú)示例:#inclludee“DDQueeue..h”voidmaiin()){DDQueeueCCyc<<Dsttrinng>QueeueCCyc;; QuueueeCycc.SeetDaata((x,QQueuueCyyc.LLenggth(()-11);}輸出:無(wú)參閱:DLListt::IInseeartt,DDlisstSeeq:::Inssearrt,Dsttackk::SSetDDataa,DDqueeuqSSeq:::SeetDaata,,DqqueuueLiink:::SeetDaataInputt_i原型:vooidInpput__i(inttNoodeNNum,,isttreaam&&in))用法:以流流的方式式讀入第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸入?yún)?shù)數(shù)參閱:Dsstacck:::Inpput__i,DquueuqqSeqq::IInpuut_ii,DDqueeueLLinkk::IInpuut_iiOutpuut_ii原型:vooidOuttputt_i((inntNNodeeNumm,osstreeam&ouut)用法:以流流的方式式取出第第NoddeNuum個(gè)數(shù)數(shù)據(jù),返返回值無(wú)無(wú)。參數(shù):流輸輸出參數(shù)數(shù)參閱:Dsstacck:::Outtputt_i,,DqqueuuqSeeq:::Outtputt_i,,DqqueuueLiink:::Ouutpuut_ii1.6二叉叉樹1.6.11DBBiTrree1.6.11.1類類層次關(guān)關(guān)系DOjecct∟DBiTTreee相關(guān)類:DDOjeect頭文件:DDBiTTreee.h1.6.11.2成成員說(shuō)明明Clearr原型:vooidCleear((DBTTNodde<NNodeeTyppe>**&rroott)用法:清除除二叉樹樹內(nèi)容,無(wú)無(wú)返回值值。參數(shù):二叉叉樹根結(jié)結(jié)點(diǎn)指針針示例:#inclludee“DDBiTTreee.h”voidmaiin()){DDbiTTreee<innt>BiTTreee;BiTreee.CCleaar(BBiTrree..rooot);;}輸出:無(wú)Copy原型:booolCoppy(DDBTNNodee<NoodeTTypee>**&DDrooot,DDBTNNodee<NoodeTTypee>**Srroott)用法:將根根結(jié)點(diǎn)為為Srooot的的二叉樹樹拷貝到到以Drroott為根結(jié)結(jié)點(diǎn)的二二叉樹中中,返回回值為布布爾型。參數(shù):要拷拷貝到的的Drooot目目的端二二叉樹結(jié)結(jié)點(diǎn)指針針,源二二叉樹結(jié)結(jié)點(diǎn)指針針示例:#inclludee“DDBiTTreee.h”voidmaiin()){DDbiTTreee<innt>BiTTreee; DBBTNoode<<intte>*Drroott;BiTreee.Coppy(DDrooot,BBiTrree..rooot);;}輸出:無(wú)IsEmppty原型:booolIssEmppty(()cconsst用法:判斷斷二叉樹樹是否為為空,返返回值為為布爾值值。參數(shù):無(wú)示例:#inclludee“DDBiTTreee.h”voidmaiin()){DDBiTTreee<flloatt>BBiTrree;; BiiTreee.IIsEmmptyy();;}輸出:faalsee表示示二叉樹樹不空,否否則為空空參閱:DLListt::IIsEmmptyy,DDlisstSeeq:::IsEEmptty,DDstaack:::IssEmppty,,DQuueuee::IIsEmmptyy,DDqueeuqSSeq:::IssEmppty,,DqqueuueLiink:::IssEmppty Savee原型:viirtuualvoiidSSavee(coonsttchaar**FiileNNamee)用法:將二二叉樹數(shù)數(shù)據(jù)保存存到文件件FilleNaame中中,返回回值無(wú)。參數(shù):字符符指針::文件名名示例:#inclludee“DDBiTTreee.h”voidmaiin()){DDBiTTreee<flloatt>BBiTrree;; BiiTreee.SSavee(“dd:\\\BiiTreee.ttxt”));}參閱:DDqueeueCCyc:::SaaveLoad原型:viirtuualvoiidLLoadd(coonsttchaar**FiileNNamee)用法:文件件FilleNaame中中讀取數(shù)數(shù)據(jù)建立立二叉樹樹中,返返回值無(wú)無(wú)。參數(shù):字符符指針::文件名名示例:#inclludee“DDBiTTreee.h”voidmaiin()){DDBiTTreee<flloatt>BBiTrree;; BiiTreee.LLoadd(“dd:\\\BiiTreee.ttxt”));}Heighht原型:inntHHeigght(()用法:獲得得二叉樹樹高度,返返回值為為整型參數(shù):無(wú)示例:#inclludee“DDBiTTreee.h”voidmaiin()){DDBiTTreee<flloatt>BBiTrree;; innthhighh;high=BBiTrree..Heiightt();;}NumOffBiTTreee原型:inntNNumOOfBiiTreee())用法:獲得得二叉樹樹結(jié)點(diǎn)數(shù)數(shù),返回回值為整整型參數(shù):無(wú)示例:#inclludee“DDBiTTreee.h”voidmaiin()){DDBiTTreee<flloatt>BBiTr
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)產(chǎn)品供應(yīng)鏈質(zhì)量保障合同協(xié)議
- 教育評(píng)估與認(rèn)證制度作業(yè)指導(dǎo)書
- 機(jī)械設(shè)備維修服務(wù)協(xié)議
- 小學(xué)生英語(yǔ)歌曲演唱故事征文
- 南京別墅外墻涂料施工方案
- 辦公自動(dòng)化數(shù)學(xué)試卷
- 滁州實(shí)驗(yàn)中學(xué)數(shù)學(xué)試卷
- 人力資源履約評(píng)價(jià)管理辦法
- 地?zé)豳Y源開(kāi)發(fā)勞務(wù)合同
- 物業(yè)費(fèi)管理:佛山新規(guī)
- 軍隊(duì)文職專用簡(jiǎn)歷(2023年)
- 人教版四年級(jí)話說(shuō)溫州(表格式)
- 《安的種子》幼兒故事
- 真題解析1-2021年上??鐚W(xué)科案例分析(茭白案例)
- 豎井工程地質(zhì)勘察報(bào)告
- 2024屆安徽省物理八年級(jí)第一學(xué)期期末復(fù)習(xí)檢測(cè)試題含解析
- 實(shí)用衛(wèi)生統(tǒng)計(jì)學(xué)題庫(kù)(附參考答案)
- 浙江省杭州市拱墅區(qū)2023-2024學(xué)年數(shù)學(xué)三年級(jí)第一學(xué)期期末質(zhì)量檢測(cè)試題含答案
- 高考語(yǔ)文復(fù)習(xí):作文主題訓(xùn)練自然情懷
- 減速機(jī)基礎(chǔ)知識(shí)-課件
- 醫(yī)院醫(yī)務(wù)科科長(zhǎng)崗位競(jìng)聘答辯PPT課件(帶內(nèi)容)
評(píng)論
0/150
提交評(píng)論