顺序栈C++模版(课本57-58):
const int stacksize=10;
template <class DataType>
class seqstack
{
public:
seqstack(){top=-1;}
~seqstack(){}
void push(DataType x);
DataType pop();
DataType gettop(){if(top!=-1)return data[top];}
int empty(){top==-1?return 1:return 0;}
private:
DataType data[stacksize];
int top;
};
template <class DataType>
void seqstack<DataType>::push(DataType x)
{
if(top==stacksize-1)throw;
data[++top]=x;
}
template <class DataType>
DataType seqstack<DataType>::pop()
{
if(top==-1)throw;
x=data[top--];
return x;
}