习题3.14 另类堆栈 (15point(s))
在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?
Example:
bool Push( Stack S, ElementType X )
{
if(S->Top == S->MaxSize) {
printf("Stack Full\n");
return false;
}
S->Data[S->Top++] = X;
return true;
}
ElementType Pop( Stack S )
{
if(S->Top) return S->Data[--S->Top];
printf("Stack Empty\n");
return ERROR;
}
思路:
Top 是栈顶指针。