試驗報告輪渡模擬_第1頁
試驗報告輪渡模擬_第2頁
試驗報告輪渡模擬_第3頁
試驗報告輪渡模擬_第4頁
試驗報告輪渡模擬_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗輪渡模擬姓名:xxx 班級:xxx)學號:16130 xxxxx 時間 2017.10.221問題描述有一個渡口,每條輪渡一次能裝載十輛汽車過江,過江車輛分為客車和貨車兩類,上輪渡有規(guī)定。(1)同類汽車先到先上船。(2)客車先于貨車上船。(3)每上四輛客車允許上一輛貨車,但因為客車不足四輛,則用貨車填補,反之用客車填補(4)裝滿十輛自動開船。編程模擬汽車排隊上輪渡的過程,設(shè)有足夠多的輪渡2結(jié)構(gòu)設(shè)計這里的輪渡模擬問題主要是三個隊列的實現(xiàn)抽象出來就是出現(xiàn)三個隊列將其中兩個隊列以另外的一種方式存儲到另外一個隊列中去,所以在這里建立了一個隊列的數(shù)據(jù)結(jié)構(gòu),三個隊列的數(shù)據(jù)結(jié)構(gòu)是相同的,唯一不同的是隊列

2、長度,在這里把隊列長度設(shè) 成變量得出結(jié)構(gòu)如下int *base; 存儲隊列int front;/頭指針int rear;/尾指針int queuesize; / 隊列長度3算法設(shè)計創(chuàng)建新隊列Stepl :為新隊列申請一組動態(tài)內(nèi)存base=new intm;step2 :判斷隊列是否創(chuàng)建成功不成功則退出if(base=NULL)(cout隊列創(chuàng)建失敗,退出endl;exit(1);Step3 :頭指針=尾指針長度賦值front=rear=0;queuesize=m;數(shù)值入隊Step1 :判斷隊列是否滿if(rear+1)%queuesize=front) throw上溢無法入隊”step2 :將

3、x值賦予隊列尾指針baserear=x;step3 :尾指針后移rear=(rear+1)%queuesize;數(shù)值出隊Step1 :定義一個變量未來存儲出隊數(shù)值int x;step2 :判斷是否隊空if(rear=front) throw下溢,無法出隊;step3:隊不空隊列頭指針數(shù)值賦予xx=basefront;step4 :頭指針后移返回出隊數(shù)front=(front+1)%queuesize;return x;判斷隊空隊空返回1否則返回0 隊空判斷條件front=rearif(rear=front)return 1;elsereturn 0;判斷隊滿隊滿返回1否則返回0隊滿判斷條件(r

4、ear+1 )%queuesize=frontif(rear+1)%queuesize=front)return 1;elsereturn 0;用循環(huán)輸出隊列Step1 :定義新變量將頭指針值賦予它int i=front;step2 :用循環(huán)輸出while(i!=rear)(coutrightbasei;step3 :變量位置后移i=(i+1)%queuesize;清空隊列front=rear;通過循環(huán)分別輸入客車和貨車序列以車牌區(qū)分每輛車以前綴區(qū)分客貨車(1表示客車,2表示貨車)Step1 :輸入客車數(shù)定義一個客車具體數(shù)量cout請輸入等待客車數(shù):m;step2 :通過循環(huán)輸入每輛車的代號c

5、out請輸入隊列中的客車(以車牌區(qū)分每輛車首位“1”表示客車卜; ;for(i=1;ix;P.EnQueue(x);(以下為貨車輸入原理同客車相同cout”請輸入等待貨車數(shù):n;cout請輸入隊列中的貨車(以車牌區(qū)分每輛車首位“2”表示貨車;for(i=1;iy;F.EnQueue(y);)實現(xiàn)隊列轉(zhuǎn)移Step1 :定義一個變量i賦值為零作為循環(huán)跳出的條件賦值一個j=1作為判斷取值條件Int i=0;Int j=1 ;step2 :當i! =10時 進行循環(huán) 實現(xiàn)隊列轉(zhuǎn)移while(i!=10) (Step2.1 :當j=4時使客車上船if(j=4) (Step2.2 :如果有客車 客車上船i

6、+1 j+1 否則j=5if(!P.QueueEmpty() k=P.DeQueue();B.EnQueue(k);j+;i+;)elsej=5;)step2.3 : j=5時 如果有貨車 貨車上船j=1 i+ 否則j=1if(j=5)if(!F.QueueEmpty()k=F.DeQueue();B.EnQueue(k);j=1;i+;)elsej=1;)Step3 :輸出船上車B.QueueTranverse();B.ClearQueue()Step4 :如果客車貨車均沒有退出否則i=0 在上下一條船if(P.QueueEmpty ()&F.QueueEmpty ()exit(1);els

7、ei=0;4程序運行測試(1)假如此時有4輛客車6輛貨車|請輸入等待客至效工請輸入隊列中的遇卒(以車牌區(qū)分每輛車首位 表示客車):11 12 13 14請將入馨侍貨車數(shù):5請輸入隊列中的寬車(以車牌區(qū)分每輛車苜位表示貨車:21 22 23 24 25 2611 13 13 14 2】22 23 24 25 26 Press any key to continue.(2)假如此時有5輛客車1輛貨車請詢?nèi)氲却?r數(shù):5盾輸入隊列中的客車(以主牌區(qū)分每輛車首位“1表示客車):11 12 13 14 15 請輸入等待貨車鷺心1請軸入隊列中的貨車c以車胭區(qū)分每輛車首位2”表示貨車):2111 12 13 14 21 15 Press any key to continue(3)假如此時有9輛客車 3輛貨車1J *g斃天供忤酢業(yè)耀榔帝徵牘陶買拄供蛉0 171021輪崛擬9ebuglee情輸入等待客車數(shù);9芾輸入鼠列中的客車(以車樗區(qū)分每輛車苜位表示客車):11 1.2 13 14 15 16 17 18 19 清喻人等待貨車鏟:3清喻人隊可中的貨車(以車牌區(qū)分每輛車苜位 ”T表示貨車):21 22 231I 12 13 14 21 15 16 17 18 22 19 23 Pre

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論