1、C語言標準庫當中沒有與stack棧相關的標準類。
2、可以自定義這個頭文件,例如:
struct?Stack{
int?mData[100];
int?mLen;
};
//初始化棧
void?InitStack(Stack?&S)
{
S.mLen?=?0;
}
//元素進棧
void?Push(Stack?&S,int?item)
{
S.mData[S.mLen++]?=?item;
}
//刪除棧頂元素
int?Pop(Stack?&S)
{
S.mLen--;
return?S.mData[S.mLen];
}
//返回棧頂元素
int?Peek(Stack?&S)
{
return?S.mData[S.mLen-1];
}
//判斷棧是否為空
bool?EmptyStack(Stack?&S)
{
if(S.mLen?==?0)?return?true;
return?false;
}
//清空棧
void?Clear(Stack?&S)
{
for(int?i?=?0;i<S.mLen;++i)
{
Pop(S);
}
}