離散事件模擬 銀行排隊

2021-10-25 05:06:46 字數 1264 閱讀 5873

假設不存在插隊的情況,並且人人都會選擇排到人數最少的那乙個視窗排隊。假設人們陸續到達銀行,不會同時到達銀行。

**如下:

#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 題目描述 現在銀行已經很普遍,每個人總會去銀行辦理業務,乙個好的銀行是要考慮平均逗留時間的,即 在一定時間段內所有辦理業務的人員逗留的時間的和 總的人數。逗留時間定義為人員離開的時間減去人員來的時間。銀...