📄 waitqueue.cpp
字号:
// BitMap.cpp: implementation of the CWaitQueue class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "WaitQueue.h"
/*####################################################################
模块名称: 电梯箱体等待队列(利用位串实现)
开发作者: 漫步阳光
开发时间: @2005.11
####################################################################*/
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CWaitQueue::CWaitQueue()
{
m_iCurPos =1;
m_iMaxQueueLen = FLOOR_NUM;
m_cBitString = new CBitString(m_iMaxQueueLen);
}
CWaitQueue::CWaitQueue(int iMaxQueueLen)
{
m_iCurPos =1;
m_iMaxQueueLen = iMaxQueueLen;
m_cBitString = new CBitString(m_iMaxQueueLen);
}
CWaitQueue::~CWaitQueue()
{
}
void CWaitQueue::addElement(int iDestFloor)
{
m_cBitString->setBit(iDestFloor);
}
void CWaitQueue::removeElement(int iDestFloor)
{
m_cBitString->clrBit(iDestFloor);
}
//CUpWaitQueue::getNextAvail
int CUpWaitQueue::getNextAvail()
{
int result =-1;
//for(int i=m_iCurPos; i<=m_iMaxQueueLen; i++)
for(int i=1; i<=m_iMaxQueueLen; i++)
{
if(m_cBitString->getBit(i))
{
result = i;
break;
}
}
if(result>0) m_iCurPos= i+1;
return result;
}
CUpWaitQueue::CUpWaitQueue()
{
}
CUpWaitQueue::CUpWaitQueue(int iMaxQueueLen)
{
}
CDownWaitQueue::CDownWaitQueue()
{
m_iCurPos =m_iMaxQueueLen;
}
CDownWaitQueue::CDownWaitQueue(int iMaxQueueLen)
{
m_iCurPos =iMaxQueueLen;
}
//CDownWaitQueue::getNextAvail
int CDownWaitQueue::getNextAvail()
{
int result =-1;
//for(int i=m_iCurPos; i>0; i--)
for(int i=m_iMaxQueueLen; i>0; i--)
{
if(m_cBitString->getBit(i))
{
result = i;
break;
}
}
if(result>0) m_iCurPos= i-1;
return result;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -