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

📄 innerwaitqueue.h

📁 电梯调度模拟,有mfc界面展现5部电梯的相互调度
💻 H
字号:
#pragma once
#include "MyVariousState.h"


//处理电梯内部活动消息的数据结构,把要求装换成位串,从而实现电梯内部的任务要求

class CInnerReqStruNode
{
public:
	CInnerReqStruNode();
	CInnerReqStruNode(int iStrLen);
	virtual ~CInnerReqStruNode();
	void setFloor(int index);//将有消息的楼层置1
	bool getFloor(int index);//获得楼层消息
	void clrMessage(int index);//清除消息
	CString showBitString();

private:
	int m_iStrLen;
	DWORD m_dBitString;

};


class CInnerWaitQueue
{
public:
	CInnerWaitQueue(void);
	CInnerWaitQueue(int iMaxQueueLen);
	~CInnerWaitQueue(void);
	void addElement(int iDestFloor);
	void removeElement(int iDestFloor);
	int getNextAvail();

protected:
	int m_iCurPos;
	int m_iMaxQueueLen;
	CInnerReqStruNode* m_cBitString;
};


//上行等待队列
class CUpInnerWaitQueue : public CInnerWaitQueue
{
public:
	CUpInnerWaitQueue();
	CUpInnerWaitQueue(int iMaxQueueLen);
	~CUpInnerWaitQueue();

	int getNextAvail();//如果当前位置后面再也没有请求,则返回-1

};


//下行等待队列
class CDownInnerWaitQueue : public CInnerWaitQueue
{
public:
	CDownInnerWaitQueue();
	CDownInnerWaitQueue(int iMaxQueueLen);
	~CDownInnerWaitQueue();

	int getNextAvail();//如果当前位置后面再也没有请求,则返回-1

};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -