實(shí)驗(yàn)三隊(duì)列實(shí)驗(yàn)報(bào)告_第1頁(yè)
實(shí)驗(yàn)三隊(duì)列實(shí)驗(yàn)報(bào)告_第2頁(yè)
實(shí)驗(yàn)三隊(duì)列實(shí)驗(yàn)報(bào)告_第3頁(yè)
實(shí)驗(yàn)三隊(duì)列實(shí)驗(yàn)報(bào)告_第4頁(yè)
實(shí)驗(yàn)三隊(duì)列實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)三隊(duì)列實(shí)驗(yàn)報(bào)告 計(jì)算機(jī)科學(xué)與技術(shù)系 實(shí) 驗(yàn) 報(bào) 告 專(zhuān)業(yè)名稱(chēng) 計(jì)算機(jī)科學(xué)與技術(shù) 課程名稱(chēng) 數(shù)據(jù)結(jié)構(gòu)與算法 工程名稱(chēng) 實(shí)驗(yàn)三隊(duì)列實(shí)驗(yàn) 班 級(jí) 學(xué) 號(hào) 1 姓 名 同組人員 無(wú) 實(shí)驗(yàn)日期 實(shí)驗(yàn)三 隊(duì)列實(shí)驗(yàn) 實(shí)驗(yàn)題目: 建立含有假設(shè)干個(gè)元素的循環(huán)隊(duì)列和鏈隊(duì)列,并分別實(shí)現(xiàn)循環(huán)隊(duì)列和鏈隊(duì)列的入隊(duì)和出對(duì)操作。 (1 1 ) 先實(shí)現(xiàn)循環(huán)隊(duì)列的入隊(duì)和出隊(duì)操作 1 1 。問(wèn)題分析 本程序要求實(shí)現(xiàn)建立含有假設(shè)干個(gè)元素的循環(huán)隊(duì)列,并實(shí)現(xiàn)循環(huán)隊(duì)列的入隊(duì)和出隊(duì)操作. 完成該實(shí)驗(yàn)需要以下 4 個(gè)子任務(wù): oac( ,1)定義一個(gè)循環(huán)隊(duì)列的存儲(chǔ)結(jié)構(gòu),定義隊(duì)列的根本算法。 定義一個(gè) dly()函數(shù)實(shí)現(xiàn)隊(duì)列元素的輸出看入隊(duì)

2、是否成功 錯(cuò)誤! ! 通過(guò)隊(duì)列的根本算法實(shí)現(xiàn)隊(duì)列的出隊(duì)操作 錯(cuò)誤! ! 在主函數(shù)中完成操作 測(cè)試數(shù)據(jù)設(shè)計(jì)如下: 1 2 4 5 2 2 。 概要設(shè)計(jì) 為了實(shí)現(xiàn)上述程序功能,需要: 錯(cuò)誤! ! 聲明一個(gè)循環(huán)隊(duì)列 錯(cuò)誤! ! 定義出隊(duì)列的根本算法, 錯(cuò)誤! ! 通過(guò)鍵盤(pán)輸入 5 個(gè)整數(shù),入隊(duì),出隊(duì) 錯(cuò)誤! ! 在主函數(shù)中先往隊(duì)列里輸入 5 個(gè)元素,然后入隊(duì),輸出,看入隊(duì)是否成功,然后出隊(duì),再調(diào)用 display()函數(shù)看是否出隊(duì)。 1) 本程序包含個(gè)函數(shù): 1 主函數(shù)ai() 2.置空隊(duì):initqueue() 3判對(duì)空: queueemty() 判隊(duì)滿(mǎn):qeuefl() 5。入隊(duì):add() 6

3、。出隊(duì):delte() 7。dplay() 各函數(shù)關(guān)系如下: in itqueu ( ( ) q q? u u empty () in ( ( ) qu uefull () da? add () )m m ai ? lete () s s lay() 3 3 、 詳細(xì)設(shè)計(jì) 實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有的數(shù)據(jù)類(lèi)型,對(duì)每個(gè)操作給出了算法和代碼,主程序和模塊都需要代碼. (1)循環(huán)隊(duì)列 dene men 0 typdef strt ? ? ;nelxam aad tni? ? ? ;tno tni? ;ar tni?qqeue; (2)隊(duì)列根本算法 seqee *initquee(eqqueue q)

4、/建立一個(gè)空循環(huán)隊(duì)列 q=(seueue )maloc(ieof (seqque); ;=tnorf>-q? ;0=raer>q? ;q nrutr? int quefull (eqeue q) /判斷隊(duì)列是否為滿(mǎn) if (q-rn=(-rear)%malen) ? ;1 ruter? le reurn 0; int queueey(sqqueue q) ? /判斷隊(duì)列是否為空 )norf=rarq( fi? retur ; ele retun 0; id a (sueue q,int x) /入隊(duì) )q(llfeueq?。╥? ? ;nexam%)1+raer-(=raerq?

5、qdataqearx; ;)”luf eeu( ftir esle? vi dlete(sequee *q) /出隊(duì) ))q(ytpmeq!( fi? ;exam)+torf(=torq? else pritf ("uee epy"); (3)用ispla()函數(shù)輸出循環(huán)隊(duì)列元素 vi dsplay(seqeue ) / ? 素元的q列隊(duì)環(huán)循出輸? ; tni? )raer=!tnof>q(i? ? ? /循環(huán)隊(duì)列非空,輸出隊(duì)列元素 ? prinf(輸出循環(huán)隊(duì)列元素:"); ? ;trq=i? d? ;nelxam)+i(=? ? ;)iataq,"

6、;(ftnrp? hil(!=q->rer); else rint(”隊(duì)列為空!"); ()在主函數(shù)中先往隊(duì)列里輸入 5 個(gè)元素,輸出,看入隊(duì)是否成功,然后出隊(duì),再調(diào)用 diay()函數(shù)看是否出隊(duì). in min() ;q euuqes? ;y,i n? q=ntuu(q); / ? ? 列隊(duì)環(huán)循空立建? rntf("請(qǐng)輸入5個(gè)元素”); for(i=;i<;i+) / ? ? 素元個(gè)5隊(duì)入? ;)y&,”(fnacs? ;)y,(da? dspla(); ? ? / ? ? 素元列隊(duì)環(huán)循出輸? )i; 6 6 、測(cè)試結(jié)果 7 7 、附錄 #includ

7、e ;orf tni? it er; seueue; sequeue *inqe(sqeue *) /建立一個(gè)空循環(huán)隊(duì)列 q(seqqueu *)mllo(so (eqquee); ;0=norf? ->ar=0; retur q; n ueufll (equeue *q) /判斷隊(duì)列是否為滿(mǎn) )xa)+aer>(=tnrf-q( fi? reurn 1; ls retrn ; in queuempty(seqeue q)/ ? ? 空為否是列隊(duì)斷判? )tnor>q=r-( fi? ; nruter? lse retr 0; i dd (seqqueue ,it x) /入

8、隊(duì) ))q(llufueuq?。╢? q-ea=(qrea+1)%maxlen; ? ;x=raer-qta-q? else pintf ("queu fl"); vod dlet(seqqeue ) /出隊(duì) )q(yteeuuq?。?? ? ;elam)1+tnrf>(=nrf-? ese pntf (”que emt"); vd ispl(sequue ) ? /輸出循環(huán)隊(duì)列 q 的元素 in i; ? )aer-=!norq(fi? ? / 素元列隊(duì)出輸,空非列隊(duì)環(huán)循? ;)”:素元列隊(duì)環(huán)循出輸”(ftirp? ;norf>q=i? do ? ?

9、 i=(i1)maxlen; ? ? printf("d”,q->datai); ;)raerq=!i(ehw? esle? ;)!空為列隊(duì)"(ftnirp? it mai() ;* ueqs? int ,y; =iique();/ ? ? ? ? 列隊(duì)環(huán)循空立建? ;)”素元個(gè) 5 入輸請(qǐng)”(ftr? ? )+i;5 (2 2 ) 實(shí)現(xiàn)鏈隊(duì)列的入隊(duì)和出隊(duì)操作 1 1 問(wèn)題分析 本程序要求實(shí)現(xiàn)建立含有假設(shè)干個(gè)元素的鏈隊(duì)列,并實(shí)現(xiàn)鏈隊(duì)列入隊(duì)和出隊(duì)操作。 完成該實(shí)驗(yàn)需要以下 4 個(gè)子任務(wù): a( ,)定義一個(gè)鏈隊(duì)列的存儲(chǔ)結(jié)構(gòu),定義鏈 隊(duì)列的根本算法。 2 定義一個(gè) dis

10、ply()函數(shù)實(shí)現(xiàn)隊(duì)列元素的輸出看入隊(duì)是否成功 錯(cuò)誤! ! 通過(guò)隊(duì)列的根本算法實(shí)現(xiàn)隊(duì)列的出隊(duì)操作 錯(cuò)誤! ! 在主函數(shù)中完成操作 測(cè)試數(shù)據(jù)設(shè)計(jì)如下: 2 3 4 5 6 2 2 。概要設(shè)計(jì) 為了實(shí)現(xiàn)上述程序功能,需要:, 聲明一個(gè)鏈隊(duì)列 錯(cuò)誤! ! 定義出鏈隊(duì)列的根本算法, 3 通過(guò)鍵盤(pán)輸入個(gè)整數(shù),入隊(duì),出隊(duì) , 在主函數(shù)中先往隊(duì)列里輸入 5 個(gè)元素,然后入隊(duì),輸出,看入隊(duì)是否成功,然后出隊(duì),再調(diào)用dispy()函數(shù)看是否出隊(duì)。 2) 本程序包含個(gè)函數(shù): 1 主函數(shù) min() 2.置空隊(duì):initqueue() 3判對(duì)空: qeeempt() 4入隊(duì):a() 5出隊(duì):dele() 6disp

11、ay() 各函數(shù)關(guān)系如下: uqtes? setqu ue( ) q q? u u empty( ) ain () ) dd () eteled? delete () display( ) 4 4 、 詳細(xì)設(shè)計(jì) 實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有的數(shù)據(jù)類(lèi)型,對(duì)每個(gè)操作給出了算法和代碼,主程序和模塊都需要代碼。 (1 1 )鏈隊(duì)列 #defin xe 10 typd stuc ode int data; sruct node xt; linlis; tyd truct inkli fro,rea; linkue; lnqu ; ( 2) 隊(duì)列根本算法 lnkque *seueue() /建立一個(gè)空鏈隊(duì)列

12、;)uuqknl( fezis(collam) uuqn(=q? q>frnt=(lnkst *)mallc(sizef(likist)); q>fonnextnull; qrer=front; ;q nruer? int qeueempty(linkqueu *q)/ ? 空為否是列隊(duì)斷判? if (q-re=qfro) etn 1; ;0 nruter ele? inkue *add (linquee *q,int x) /入隊(duì) linklt p; =(linls )maloc(sizof (linist); p>ata=x;pnx=nul; ;=txe-rar? q&g

13、t;earp; rtrn ; linkqueu dele(linkque q) / 隊(duì)出? ; silknil? if (!queueempy(q)) ? ;txen-tnorf-q=p? q>fr=p-nex; ? if(p-n=null)q->raqfront; ;q nrue;)p(erf? ? ele pntf (”qeue empty); (3 3 )用 spla () ) 函數(shù)輸出鏈隊(duì)列元素 i isplay(linkqueue *q) /輸出鏈隊(duì)列的元素 ; ilknil? p=q>rtnex; f(p!=ul) ;)素元隊(duì)鏈出輸”(ftnip? ? )lun=

14、!(eliw? ? ? printf(”%2d”,pda); ? ? p=pxt; ? ;)空為隊(duì)鏈n"(tr esle? (4)入 在主函數(shù)中先往隊(duì)列里輸入 5 5 個(gè)元素,輸出,看入隊(duì)是否成功, , 然后出隊(duì),再調(diào)用 d d play ()函數(shù)看是否出隊(duì)。 int an() ;0y,i ni? setueu(); ? ? /建立空鏈隊(duì)列 dplay(q) ; ? ;)”素元個(gè)5入輸請(qǐng)"(ftnip? for(=0;i5;i+) ? ? /入隊(duì)個(gè)元素 ;)y,%”(fnas? ;),(dda? disa(q); ? ? )+;5i;0i(rof? / ? 隊(duì)出素元個(gè)5把?

15、 ? ;)q(etled? ? ? ? ? ? ;)q(yalpsid? / ? 功成隊(duì)出否是看? ;0 nrer? 、調(diào)試分析 編譯無(wú)錯(cuò)誤 5 5 、用戶(hù)使用說(shuō)明 程序名為las12xe,在 dbu文件夾里面.運(yùn)行環(huán)境 visual c+ 60。 6 6 、測(cè)試結(jié)果 7 7 、附錄 includ stdoh #inclue #dfine mx 1 tedef suc node int ta; ;txen* edon turts?linkist; typedef trct linklit *font,*r; linkqueue; linkquee q; likee setqu() /建立一個(gè)空

16、鏈隊(duì)列 q=(linkquue *)maoc(sizof (inkque)); ;)tslknil(fozi(ollm)* tsilkl(=tnof>-? ->t-next=nul; ;tnorfq=aer? rrn ; int queueempty(inkquue ) / 空為否是列隊(duì)斷判? if (q>rea=q->ft) ;1 nute? ;0 nrue esle? nuu *add (linkueu *,n x) /入隊(duì) ;p tsilknl? p=(inlst *)aloc(sizeof (lnklist)); p-ta=;extull; ;ptxrer>

17、;-q? rear=p; ;q nruer? linkeue delee(linkque *q) ? /出隊(duì) ; tilknil? ))q(tpmeueuq!( fi? ;xe>tnorfq=? ;txenp=txetnorf-q? if(p>netnull)q->rear=front; ;q ruer;)p(f? ;)”ytpme eq”( ftnrp e? void isply(ikque *q) ? /輸出鏈隊(duì)列的元素 ;* slkn? p=->front-nxt; if(!=nll) ? ;)素元隊(duì)鏈出輸(ftnirp? wile(!=nll) ? ;)ata-

18、p,"d2%”(ftnirp? ? ? ;txnp=p? ? le printf("n 鏈隊(duì)為空"); int main() int i,y0; sequue(); ? / ? ? ? 列隊(duì)鏈立建? )q(alpsi? ? ;? ? ;)”素元個(gè) 5 入輸請(qǐng) n”(firp? f(i0;i5;+) ? / ? 素元個(gè) 5 隊(duì)入? ? ;)&,”d”(fnacs? a(q,y); dsl(); ? ? ? ? /)+i;i;0=i(ro? ? ? 隊(duì)出素元個(gè) 5 把? ? delete(q); ? ? ;)(yapsd? ? / 功成隊(duì)出否是看? urn ;

19、 實(shí)驗(yàn)題目 2 2 : 寫(xiě)出以下程序段的輸出結(jié)果,并通過(guò)程序運(yùn)行來(lái)驗(yàn)證 1. 問(wèn)題分析 完成該實(shí)驗(yàn)需要以下 4 個(gè)子任務(wù): 錯(cuò)誤! ! 定義一個(gè)循環(huán)隊(duì)列的存儲(chǔ)結(jié)構(gòu),定義隊(duì)列的根本算法. 2 定義一個(gè) print()函數(shù)實(shí)現(xiàn)程序 錯(cuò)誤! ! 通過(guò)隊(duì)列的根本算法實(shí)現(xiàn)隊(duì)列的出隊(duì)操作 oc( ,4)在主函數(shù)中完成操作 測(cè)試數(shù)據(jù)設(shè)計(jì)如下: 2. 概要設(shè)計(jì) 為了實(shí)現(xiàn)上述程序功能,需要: 錯(cuò)誤! ! 聲明一個(gè)循環(huán)隊(duì)列 錯(cuò)誤! ! 定義出隊(duì)列的根本算法, 錯(cuò)誤! ! 在主函數(shù)調(diào)用rn()函數(shù)看是否出隊(duì)。 3) 本程序包含個(gè)函數(shù): 主函數(shù) ma() 2。置空隊(duì):nitqueu() 3。判對(duì)空: eueepty(

20、) 4。判隊(duì)滿(mǎn):queeful() 5入隊(duì):a() 6。出隊(duì):det() 7.dispay() ethed() 各函數(shù)關(guān)系如下: gethead () ? n n itq ue () ) u u u u ty() m m ai () ? q q? eueful ( ( ) add () )m ma a n n del te() n n () ) 5 5 、 詳細(xì)設(shè)計(jì) 實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有的數(shù)據(jù)類(lèi)型,對(duì)每個(gè)操作給出了算法和代碼,主程序和模塊都需要代碼. ()循環(huán)隊(duì)列 #deine axlen ypedef ruct ? ;nlxm t rhc? ? ;tnrf ni? ? ? ;raer t

21、ni?seqque; ()隊(duì)列根本算法 squu iitqueue(seqqu *q) /建立一個(gè)空循環(huán)隊(duì)列 ;))euqes( fois(colam) euqqs(=q? frot=0; ;0=r>q? ;q nrute? nt queefl (eqqeue q) 判斷隊(duì)列是否為滿(mǎn) )nelxm%)1+rar-q(=tnofq( fi? ;1 nruter? ;0 nrur le? int ueeempty(squeue *q)/ ? ? 空為否是列隊(duì)斷判? f (q-re=q-front) ? ;1 nruer? ele return ; char gethe(equeue q) /

22、取棧頂元素 f(!ueueemt(q) ? ;nlxam)+tnrf>q(tadq nrte? else pintf(quue empty”); void d (queu *q,cha ) /入隊(duì) i(!qufull(q)) ? ;nxam)+raerq(=e>q? ;x=ar-atd>-q? else prinf ("queue l"); o dlet(sqe *q) /出隊(duì) )q(ytpmeeueu!( i? ? q-fron(qrnt+1)male; else prf (”que empty); (3)用it()函數(shù)驗(yàn)證程序 vid rt(seqeu

23、e q) ? ? ;t,y,x rah? ;"c"=y;"e=x? dd(q,h"); ;)",q(dd? ;),q(dda? xgethead(); ;)q(eeld? ;)x,q(d? =te(q); dlete(q); ad(q,a); )0=)q(ytmeuq( lw? ;)q(dhtg? ;)q(el? ;)y,c%"(ftnip? ? ;)x,"”(ftnirp? (4)在主函數(shù)中調(diào)用 prnt()函數(shù)驗(yàn)證程序 i in() equeu *q; ;)q(ueuqtin=q? rin(q); ;0 nruter?

24、4 4 、調(diào)試分析 編譯無(wú)錯(cuò)誤 5 5 、用戶(hù)使用說(shuō)明 程序名為 class.,在 debu文件夾里面。運(yùn)行環(huán)境 visual c+ 6。0。 、測(cè)試結(jié)果 7 7 、附錄 #i c c u u e < t t io 。 h> inclu e stdlib 。 h> #d fine maxlen 0 0 typed f truct cha d d ta maxl n; ? nt fr nt ; i i? r r r r ; seqqueue ; seqq eue i i itqueue( q q eue *q ) / 建立一個(gè)空循環(huán)隊(duì)列 es(=q? q=(se ueu *)

25、a a c(si e e f f (s q q ueue ) ); ? f f t= ; q q >rear=0; r r q q ; i i t q euefull ( seqqueue q q ) / / 判斷隊(duì)列是否為滿(mǎn) ? f (q > > o o t t =( rear 1 1 ) ax e e ) nruter? return ; se return ; int queu em t t (seq ueue q) / ? / 判斷隊(duì)列是否為空 fi? if ( >re r= fron ) return 1 ; esle? else et r r 0 0 ; h h r thead ( seqqu u u *q) / / 取棧頂元素 (i i? ( !queueempty(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論