//结构体
typedef int SElemType;
typedef int Status;
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)
exit(0);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return 1;
}
//插入 e 为新的栈顶元素
Status Push(SqStack &S,SElemType e)
{
if(S.top-S.base>=S.stacksize) //栈满
{
S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));
if(!S.base)
exit(0);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return 1;
}
//删除栈顶元素
Status Pop(SqStack &S,SElemType &e)
{
if(S.top==S.base)
return 0;
e=*--S.top;
return 1;
}
//进制转换
void conversion()
{
SqStack S;
SElemType e;
int N,x;
InitStack(S);
printf("plese