⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pro.c

📁 离散事件模拟程序
💻 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 + -