①首先要写函数的类型,之前的文章中就谈到了,一般考虑void和bool型,
因为顺序栈要判断栈顶指针是否为-1,链式栈要判断头指针是否指空
所以写出
bool GetTop(SqStack*s,ElemType &e)
{
}
注意这里的s不需要&,因为这里只需要将e的值返回即可
②写判断语句
顺序栈
{
if(s->top==-1)
return false;
语句;
return true;
}
链式栈
{
if(s->next==NULL)
return false;
语句;
return true;
}
这样的格式先写好,后面的就会简单点,注意要把return true写上
③将其中的语句补全(即取栈顶元素)
顺序栈
语句写为:
e=s->data[s->top];
链式栈(取首结点值)
因为课本上给的进栈函数是首插法
语句写为:
e=s->next->data;