0、节点结构体定义
typedef struct SqStack{int *base;int *top;
} SqStack;
1、初始化
bool InitStack(SqStack &S)
{S.base = new int[Maxsize]; //eg. #define Maxsize 100if(!S.base){return false;}S.top = S.base;return true;
}
2、入栈
bool Push(SqStack &S, int e)
{if(S.top-S.base== Maxsize){return false;}*(S.top++) = e;return true;
}
3、出栈
bool Pop(SqStack &S, int &e)
{if(S.top== S.base){return false;}e = *(--S.top);return true;
}
4、取栈顶元素
int GetTop(SqStack S)
{if(S.top!= S.base){return *S.top;}else{return -1;}
}
5、释放内存
void StackRelese(SqStack &S)
{delete[] S.base;delete &S;
}