#include <iostream.h>
#include <malloc.h>
#include <stdio.h>
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 1
#define ERROR 0
#define TRUE 1
#define FLASE 0
#define OVERFLOW 0
typedef int Status;
typedef double SElemType;
typedef struct {
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack &S) //构造一个空栈
{
S.base = ( SElemType * )malloc(STACK_INIT_SIZE * sizeof(SElemType) );
if(!S.base) return OVERFLOW;
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
Status Push(SqStack &S,SElemType e)//入栈操作
{
*S.top++=e;
return OK;
}
Status Pop(SqStack &S,SElemType &e)//出栈操作
{
if(S.top==S.base) return ERROR;
e=*--S.top;
return OK;
}
double GetTop(SqStack S)//取