下面给出顺序栈类代码和应用实例供参考:
顺序栈类:文件名 sq_Stack.h
#include<iostream>
using namespace std;
template <class T>
class sq_Stack
{
private:
int mm; //存储空间容量
int top; //栈顶指针
T *s; //顺序栈存储空间首地址
public:
sq_Stack(int); //构造函数,建立空栈
void prt_sq_Stack();//顺序输出栈中元素
int flag_sq_Stack();//检查顺序栈的状态
void ins_sq_Stack(T);//入栈
T del_sq_Stack();//退栈
T read_sq_Stack();//读栈顶元素
};
template<class T>
sq_Stack<T>::sq_Stack(int m)
{
int mm=m;
s=new T[m];
top=0;
return;
}
template<class T>
void sq_Stack<T>::prt_sq_Stack()
{
int i;
cout<<"top="<<top<<endl;
for(i=top;i>0;i--)
cout<<s[i-1]<<endl;
return;
}
template<class T>
int sq_Stack<T>::flag_sq_Stack()
{
if(top==mm)
{
cout<<"存储空间已满"<<endl;
return(-1);
}
if(top==0)
{
cout<<"栈为