📄 cstack.cpp
字号:
// Class CStack CPP
// By Great_csk 2004
#include "CStack.h"
CStack::CStack(){
CurrentLevel=nStkMaxLevel=0;
SetMaxLevel();
pNode=0;
}
CStack::~CStack(){
Clear();
}
pData CStack::pop(){
pData tmpData;
if(pNode){
tmpData= pNode->pdata;
DeleteNode();
return tmpData;
}
return 0;
}
long CStack::push(pData pnode){
if (CreateNode()){
pNode->pdata=pnode;
return STACK_SUCCEED;
}
return STACK_OVERFOLW;
}
void CStack::Clear(){
while (DeleteNode());
}
long CStack::SetMaxLevel(long nMaxLevel){
int nOldMax;
nOldMax=nStkMaxLevel;
nStkMaxLevel=nMaxLevel;
return nOldMax;
}
bool CStack::CreateNode(){
StkNode *tmpNode;
if (CurrentLevel<nStkMaxLevel){
tmpNode=new StkNode;
tmpNode->formerNode=(void *)pNode;
pNode=tmpNode;
CurrentLevel++;
return true;
}
return false;
}
bool CStack::DeleteNode(){
StkNode *tmpNode;
if (pNode){
tmpNode=(StkNode *)pNode->formerNode;
delete pNode;
pNode=tmpNode;
CurrentLevel--;
return true;
}
return false;
}
pData CStack::getTop(){
pData tmpData;
if(pNode){
tmpData= pNode->pdata;
return tmpData;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -