问题描述:假设只有一位医生,在一段时间内随机地来几位病人;假设病人到达的时间间隔为0~14分钟之间的某个随机值,每个病人所需处理时间为1~9分钟之间的某个随机值。试用队列结构进行模拟。
帮朋友写的,用VC++模拟实现,本来想完全用类实现,但要求中要用队列,所以加上了队列结构。使用2个线程模拟医生处理病人事件和病人到达诊所事件。因看了论坛原来的资源需要2分,觉得自己的比那个花的工夫多,而且也更好看点,咱咋也不能比他差吧,另外自己下载资源也老不够分,见谅见谅...贴上数据结构定义部分:
class Patient
{
public:
int arrive_time;
public:
Patient();
virtual ~Patient();
void arrive(int );//添加节点
};
class Doctor
{
public:
int treat_time;
int wait_time;
public:
Doctor();
virtual ~Doctor();
void treat();//产生随机数
void complete();//删除节点
};
struct node
{
int arrive_time;
int wait_time;
int treat_time;
};
typedef struct t_queue
{
node data;
struct t_queue *link;
}queue,*pqueue;
1