class stack3
{
public:
stack3(int size)
{
buff=new int[3*size];
stacksize=size;
stackpoint[0]=stackpoint[1]=stackpoint[2]=-1;
}
~stack3()
{
delete[] buff;
}
void push(int stackNum,int val)
{
int id=stackNum*stacksize+stackpoint[stackNum]+1;
buff[id]=val;
++stackpoint[stackNum];
}
int top(int stackNum)
{
int id=stackNum*stacksize+stackpoint[stackNum];
return buff[id];
}
void pop(int stackNum)
{
--stackpoint[stackNum];
}
bool empty(int stackNum)
{
return stackpoint[stackNum]==-1;
}
private:
int *buff;
int stacksize;
int stackpoint[3];
}
{
public:
stack3(int size)
{
buff=new int[3*size];
stacksize=size;
stackpoint[0]=stackpoint[1]=stackpoint[2]=-1;
}
~stack3()
{
delete[] buff;
}
void push(int stackNum,int val)
{
int id=stackNum*stacksize+stackpoint[stackNum]+1;
buff[id]=val;
++stackpoint[stackNum];
}
int top(int stackNum)
{
int id=stackNum*stacksize+stackpoint[stackNum];
return buff[id];
}
void pop(int stackNum)
{
--stackpoint[stackNum];
}
bool empty(int stackNum)
{
return stackpoint[stackNum]==-1;
}
private:
int *buff;
int stacksize;
int stackpoint[3];
}