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

📄 queue.cpp

📁 成熟的RPG引擎,Flysky发布. 斜视角引擎.
💻 CPP
字号:

//------------------------------------------------------------
// 队列相关函数
// 创建于2002年4月3日
//------------------------------------------------------------


#include "Queue.h"
#include "../GameH.h"

CQueue::CQueue()			//建好头尾指针
{				
	m_pRear = new CNode(NULL,NULL,65535);
	m_pFront = new CNode(NULL,m_pRear,-1);
}

CQueue::~CQueue()
{
	CNode* p;
	while(m_pFront)				//依次出队
	{
		p = m_pFront;
		m_pFront = m_pFront->m_pNext;
		_DELETE(p);				//delete
	}
}

void CQueue::EnQueue(CTree *data, int f)
{
	CNode* p = m_pFront;
	CNode* father;
	while(p->m_nPriority<f)			//按照优先权查找应该插入的地方
	{
		father = p;
		p = p->m_pNext;
	}
	father->m_pNext = new CNode(data,p,f);	//插入
}

CTree* CQueue::DeQueue()			//将第二个元素出队
{
	CTree* temp = m_pFront->m_pNext->m_pData;
	CNode* p = m_pFront->m_pNext; 
	m_pFront->m_pNext = m_pFront->m_pNext->m_pNext;
	_DELETE(p);
	return temp;
}

BOOL CQueue::IsEmpty()
{
	return m_pFront->m_pNext==m_pRear;
}

⌨️ 快捷键说明

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