91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

我學數據結構的時候的大作業 離散事件模擬 附上代碼帶注釋 還有詳細的實驗報告和實驗要求 還有visio的流程圖文件也在里面 還有我第一次錯誤的思路的代碼也附上 方便讀者理解

資源截圖

代碼片段和文件信息

/**
*????????----------------------銀行系統模擬---------------------
*???????
*????????Desinged?by?wankaiming
*????????
*
*
*
*/

#include
#include
#include
#include
#define?random(x)?(rand()%x)???//產生隨機數
using?namespace?std;




//--------事件類
class?Event{
public:
??int?time;//事件發生時間單位是秒如果在離開隊列就是離開時候的時間
??int??customerId;//顧客號
??int??windowId;//服務窗口
??int??waittime;//等待時間
??int?servetime;//服務時間


??Event(){
?????time=0;??
?customerId=0;
?????windowId=0;
??waittime=0;
??servetime=0;
??}
????friend?bool?operator?????{
????????return?a.time>?b.time;?//結構體中,x小的優先級高
????}

};





//-----------服務窗口類
class?ServiceWin{
public:
???int?id;
???bool?state;??//1表示可以接收服務?0表示不能接收服務
???double?efficiency;?//工作效率
???double?totalwait;?//總等待時間
???double?customerSum;//總顧客數
???double?avgWait;??//平均等待時間
???double?totalserve;
???int?canServe;??//最早服務時間

???ServiceWin(){
?state=true;
?????canServe=0;
?totalwait=0;
?customerSum=0;
?avgWait=0;
?efficiency=0;
?totalserve=0;
???}
};



//打印窗口信息
void?printInfo(ServiceWin?s[]Event?e){
?cout<<“==========================================================================“< ?cout<<“***??各窗口最早服務時間如下“< ?for(int?i=0;i<4;i++){??//?如果最早可服務時間早于顧客到達事件的時間,則將最早可服務時間調整到當前時間
if(s[i].canServe??????????????????cout<<“***??窗口“< ??s[i].canServe=e.time;?//設為顧客到達事件的時間
}
else{
??cout<<“***??窗口“< }
?}
?????????cout<<“===========================================================================“<

}

//判斷是否有窗口空閑?返回值小于4,則返回空閑的窗口號,若等于4表示沒有空閑窗口
int?judge(ServiceWin?s[]){
int?i=0;
???for(i=0;i<4;i++){
?if(s[i].state==true){
break;???//窗口i是空閑窗口
?}
}
???return?i;

}




//初始化到達隊列,將所有的達到事件加入到到達事件隊列
priority_queue??InitArriveQueue(int?eventnumint?len){
???srand((int)time(0));
???priority_queue?q;

???for(int?i=0;i
???????Event?e;//記錄到達事件
???e.customerId=i;
???e.servetime=random(30)*60;???//假設每次產生隨機的服務時間再30分以內
???????e.time=random(60)*60+(i/eventnum)*3600;??????//(i%eventnum)*3600當超過每小時發生的到達事件數的時候加1小時,保證頻率
???q.push(e);
???}
?
???return?q;
}




void?freeWin(priority_queue?&departEvent?&dServiceWin?s[]){

cout<<“顧客號為“< cout<<“服務窗口號為:“< s[d.windowId].state=true;
cout<
}

void?changeWinTime(ServiceWin?s[]int?currenttime){
for(int?i=0;i<4;i++){
???if(s[i].canServe }
}

//到空閑窗口服務?加入離開隊列?設定時間戳
void?gotoWin(int?judgecountpriority_queue?&departEvent?&eServiceWin?s[]){


???int?i=judgecount;
???????????in

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????307911??2012-05-01?09:39??數據結構大作業\Debug\main.obj

?????文件?????244147??2012-05-01?13:12??數據結構大作業\Debug\mymain.obj

?????文件??????99328??2012-05-01?13:19??數據結構大作業\Debug\vc60.idb

?????文件?????143360??2012-05-01?13:12??數據結構大作業\Debug\vc60.pdb

?????文件?????536701??2012-05-01?13:12??數據結構大作業\Debug\數據結構大作業.exe

?????文件?????800112??2012-05-01?13:12??數據結構大作業\Debug\數據結構大作業.ilk

?????文件????3108044??2012-05-01?12:13??數據結構大作業\Debug\數據結構大作業.pch

?????文件????1123328??2012-05-01?13:12??數據結構大作業\Debug\數據結構大作業.pdb

?????文件???????7767??2012-06-15?12:17??數據結構大作業\mymain.cpp

?????文件???????4366??2012-05-01?10:24??數據結構大作業\數據結構大作業.dsp

?????文件????????553??2012-04-29?18:21??數據結構大作業\數據結構大作業.dsw

?????文件??????41984??2012-05-01?13:20??數據結構大作業\數據結構大作業.ncb

?????文件??????49664??2012-05-01?13:20??數據結構大作業\數據結構大作業.opt

?????文件????????921??2012-05-01?13:12??數據結構大作業\數據結構大作業.plg

?????文件???????7961??2012-06-15?12:17??main(一開始的錯誤代碼).txt

?????文件??????64000??2012-04-30?23:38??錯誤流程圖.vsd

?????文件??????69120??2012-05-01?12:58??數據結構大作業.vsd

?????文件?????233984??2012-06-15?12:18??數據結構大作業wankaiming.doc

?????目錄??????????0??2012-05-01?13:21??數據結構大作業\Debug

?????目錄??????????0??2012-05-01?13:20??數據結構大作業

????.......?????50176??2002-04-28?13:05??數據結構大型實驗題目-2011.doc

-----------?---------??----------?-----??----

??????????????6893427????????????????????21


評論

共有 條評論