另类堆栈(注意TOP的定义)
题目
答案
bool Push( Stack S, ElementType X )
{
if(S->Top==S->MaxSize)
{
printf("Stack Full\n");
return false;
}
else
{
S->Data[S->Top]=X;
S->Top++;
return true;
}
}
ElementType Pop( Stack S )
{
if(S->Top==0)
{
printf("Stack Empty\n");
return ERROR;
}
else
{
S->Top--;
return S->Data[S->Top];
}
}
注意
本题要注意审题,Top定义为栈顶的上一个位置,但因为Top初始值为0,所以判断堆栈是否满了的时候,只需比较Top是否等于MaxSize即可