www.gusucode.com > VC++游戏圣剑英雄传2双刃剑源程序+开发文档-源码程序 > VC++游戏圣剑英雄传2双刃剑源程序+开发文档-源码程序\code\source\Stack.cpp
//Download by http://www.NewXing.com //------------------------------------------------------------ // 栈相关函数 // 创建于2002年4月3日 //------------------------------------------------------------ #include "Stack.h" #include "gamelib\goldpoint.h" CStack::CStack():m_pTop(NULL) { m_nCount = 0; } CStack::~CStack() { CNode* p ; //依次出栈,并且delete while(m_pTop) { p = m_pTop; m_pTop = m_pTop->m_pNext; _DELETE(p); } } void CStack::Push(CTree *data) { m_pTop = new CNode(data,m_pTop); //入栈 m_nCount++; } BOOL CStack::IsEmpty() { return m_pTop == NULL; } CTree* CStack::Pop() { CTree* temp = m_pTop->m_pData; //出栈 CNode* p = m_pTop; m_pTop = m_pTop->m_pNext; //修改指针 _DELETE(p); //delete m_nCount--; return temp; } CTree* CStack::GetTop() { return m_pTop->m_pData; } int CStack::GetCount() { return m_nCount; }