stack.h
来自「c++书籍的源代码」· C头文件 代码 · 共 60 行
H
60 行
//stack.h
#ifndef _STACK
#define _STACK
#include<iostream.h>
#include"stackexp.h"
const int MAX=100;
template <class T>
class stack
{
public:
stack(void);
~stack();
T pop(void);
void push(T x);
int s_empty(void);
int s_full(void);
private:
T s[MAX];
int top;
};
template <class T>
stack<T>::stack(void)
{
top=-1;
cout<<"创建了一个栈"<<endl;
}
template <class T>
stack<T>::~stack()
{
cout<<"栈消失"<<endl;
}
template <class T>
T stack<T>::pop(void)
{
if(top==-1)
throw &stackemp();
return(s[top--]);
}
template <class T>
void stack<T>::push(T x)
{
if(top==MAX-1)
throw &stackful();
s[++top]=x;
}
template <class T>
int stack<T>::s_empty(void)
{
int flag;
flag=top==-1?1:0;
return(flag);
}
template <class T>
int stack<T>::s_full(void)
{
int flag;
flag=top==MAX-1?1:0;
return(flag);
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?