本篇文章給大家分享的是有關C++中如何使用鏈棧模板,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯專注于企業(yè)成都營銷網站建設、網站重做改版、光澤網站定制設計、自適應品牌網站建設、H5開發(fā)、成都做商城網站、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為光澤等各大城市提供網站開發(fā)制作服務。
C++鏈棧模板聲明
templatestruct StackNode { T typeData; StackNode *nextNode; }; template class DZ_Stack { public: bool Push(const T data); bool Pop(T& data); bool Peek(T& data); bool IsEmpty(); DZ_Stack(); virtual ~DZ_Stack(); private: StackNode *pStackTop; int iNodeCount; };
C++鏈棧模板實現
template
DZ_Stack
::DZ_Stack() {
pStackTop=NULL;
iNodeCount=0;
}
template
DZ_Stack
::~DZ_Stack() {
while(!IsEmpty())
{
StackNode
*pStackNode= pStackTop; pStackToppStackTop=pStackTop->nextNode;
delete (pStackNode);
pStackNode=NULL;
}
pStackTop=NULL;
}
template
bool DZ_Stack
::Push(const T data) {
StackNode
*pStackNode=new StackNode ; if( NULL == pStackNode )
return false;
pStackNode->typeData=data;
pStackNode->nextNode=pStackTop;
pStackTop=pStackNode;
iNodeCount++;
return true;
}
template
bool DZ_Stack
::Pop(T& data) {
if ( IsEmpty() )
return false;
data=pStackTop->typeData;
StackNode
*pStackNode= pStackTop; pStackToppStackTop=pStackTop->nextNode;
delete (pStackNode);
iNodeCount--;
return true;
}
template
bool DZ_Stack
::Peek(T& data) {
if (IsEmpty())
return false;
data=pStackTop->typeData;
return true;
}
template
bool DZ_Stack
::IsEmpty() {
if ( NULL == pStackTop )
return true;
else
return false;
}
#endif // !defined(AFX_DZ_STACK_H__10036803_D752_4EF7_
852D_DD6B377D7AB9__INCLUDED_)
以上就是C++中如何使用鏈棧模板,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯行業(yè)資訊頻道。