include
define maxsize 100005
define addsize 10
define true 1
define false 0
typedef int elemtype;
struct node
{
int data;
int next;
}q[100005];
typedef struct
{
elemtype *base;
elemtype *top;
int stacksize;
}sqstack;
int initstack(sqstack &s)
{
s.base=new int[maxsize];
if(!s.base)
{
return false;
}
s.top=s.base;
s.stacksize = maxsize;
return true;
}
void push(sqstack &s,elemtype x)
{
if(s.top-s.base>=s.stacksize)
{
s.base=new int[maxsize+addsize];
/*if(!s.base)
{
return -1;
}*/
s.top=s.base+addsize;
s.stacksize+=addsize;
}
*s.top++=x;
}
int pop(sqstack &s)
{
if(s.top==s.base)
{
return false;
}
elemtype x;
x=*--s.top;
return x;
}
int fullstack(sqstack &s)
{
if(s.top-s.base