typedef struct
{
ElemType data[MaxSize];
int top;
} SqStack;
void InitStack(SqStack *&s)
{
s=(SqStack *)malloc(sizeof(Sqstack));
s->top=-1;
}
void DestroyStack(SqStack *&s)
{
free(s);
}
bool Push(SqStack *&s,ElemType e)
{
if (s->top==MaxSize-1)
return false;
s->top++;
s->data[s->top]=e;
return true;
}
看代码不要一条一条看,而是应该一个函数一个函数看。另外,学好英语。
SqStack 顺序堆栈
DestroyStack 销毁堆栈
InitStack初始化堆栈
Push 压入堆栈
先把这些词搞清楚。
然后你就大概知道这个程序干嘛的。
你不看代码,凭借这些信息,大概可以知道每个函数干什么,然后再对照代码看,就很明白了。
typedef struct这是声名体
void InitStack这是建栈
void DestroyStack这是销毁栈
bool Push这是压入栈
ElemType data[MaxSize];栈空间
int top;栈顶指针
if (s->top==MaxSize-1)栈满,不能入栈