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 + -
显示快捷键?