📄 pro.c
字号:
// 离散事件模拟
// 模型:银行4个窗口对外接待客户
// 2007-09-20
// 算法3.7 p65
// 队列的使用
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "queue.h"
#include "list.h"
// 总时间
int totaltime;
// 总人数
int customnum;
// 4个银行队列
LinkQueue g_banklist[4];
// 一个事件有序链表
Linklist g_evtlist;
bool compare(evt_type e1,evt_type e2)
{
return e1.occurtime < e2.occurtime;
}
bool OrderInsert(Linklist *L, evt_type e, bool (*cmp)())
{
evt_node *p = L->head;
evt_node *newnode = (evt_node*)malloc(sizeof(evt_node));
newnode->evtype = e;
// (e.occurtime > p->next->evtype.occurtime)
// while(!cmp(e,p->next->evtype)||(!p->next))
while(!(cmp(e,p->next->evtype)&&(p->next)))
{
p = p->next;
}
newnode->next = p->next;
p->next = newnode;
return true;
};
void OpenForDay()
{
}
int BankSimulation()
{
//
OpenForDay();
// 事件链表还有事件
while(1)
{
//
// 得到事件
switch(1)
{
// 处理事件
case LEAVE_1:
{
// 插入下一客户的离开事件
;
}
case NEWGUEST:
{
// 确定下一客户的到来间隔,和本人处理业务的时间
// 排入一队伍
// 若队伍无人,则插入离开事件
;
}
}
}
}
int main()
{
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -