假設不存在插隊的情況,並且人人都會選擇排到人數最少的那乙個視窗排隊。假設人們陸續到達銀行,不會同時到達銀行。
**如下:
#include
#include
#include
#define max_size 10000
//佇列的初始化長度
#define end_time 10000
//銀行關門時間
using namespace std;
typedef
struct time time1;
typedef
struct windows window;
window list1, list2, list3, list4;
int n1, n2, n3, n4;
//計時器
int nn;
//計時器
int all_time;
int people_num;
int record1;
//計入隨機數,記錄當前到達的客戶辦理業務所需的時間
int record2;
//記入隨機數,記入下一客戶到達的間隔時間
void
moni_daoda
(int e)
;int
search_min()
;void
banli_go
(window* a,
int b,
int& c)
;int
main()
cout <<
"平均每個客戶在銀行的逗留時間為:"
<< all_time / people_num << endl;
return0;
}void
moni_daoda
(int e)
模擬客戶到達銀行,並且尋找視窗排隊。
else
//到達間隔時間後新的客戶到達
else
if(i ==2)
else
if(i ==3)
else
nn =0;
}}intsearch_min()
//尋找人數最小的那乙個視窗的函式
void
banli_go
(window* a,
int b,
int& c)
//客戶辦理好業務後的出隊操作
else
//出隊操作
}
離散事件模擬 銀行排隊
某銀行有四個視窗接待客戶,每個視窗在某個時刻只能接待乙個客戶,人數多時則需要進行排隊,剛進來的客戶,視窗無人則進行業務辦理,有人則排隊,排在人數最少的隊伍後面。問題 計算在銀行關閉之前,計算客戶在銀行逗留的平均時間 用c寫的,給書上 的實現了下,如下 include include include ...
離散事件模擬 銀行排隊時間模擬
在資料結構中有個講述如何模擬銀行排隊,最終算出每個人平均的逗留時間。這是需要資料結構的知識。將銀行的每個視窗看成是乙個佇列,那麼對於每次來乙個人,都需要從最短的佇列進行排隊。其實更優秀的做法是從最短的等待時間佇列來排隊 這裡的做法是這樣的,首選在乙個佇列中插入乙個人,整個事件是事件驅動的,每次去檢查...
離散事件模擬 銀行管理
離散事件模擬 銀行管理 timelimit 1000ms memory limit 65536k 題目描述 現在銀行已經很普遍,每個人總會去銀行辦理業務,乙個好的銀行是要考慮平均逗留時間的,即 在一定時間段內所有辦理業務的人員逗留的時間的和 總的人數。逗留時間定義為人員離開的時間減去人員來的時間。銀...