⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p10_1.cpp

📁 相当丰富的C++源码
💻 CPP
字号:
/*************************************
*   p10_1.cpp                        *
*   Stack.h                          *
*   栈类模板                         *
**************************************/
#include<iostream>
using namespace std;

template <class T>
class Stack 
{
  private:
      int size;
	  int top;
	  T* space;
  public:
	  Stack(int=10);
	  ~Stack()
	  {
		  delete [] space;
	  }
	  bool push(const T&);
	  T  pop();
	  bool IsEmpty() const
	  {   
		  return top==size;
	  }
	  bool IsFull() const
	  {
		  return top==0;
	  }
};
template <class T>
Stack <T>::Stack(int size)
{
   this->size=size;
   space=new T[size];
   top=size;
}
template <class T>
bool Stack <T>::push(const T& element)
{
   if(!IsFull())
   {
	   space[--top]=element;
	   return true;
   }
   return false;
}
template <class T>
T  Stack <T>::pop()
{
   if(!IsEmpty())
	   return space[top++];
   return 0;
}
void main()
{
   Stack<char>S1(4);
   S1.push('x');
   S1.push('y');
   S1.push('z');
   S1.push('u');
   S1.push('v');
   while(!S1.IsEmpty()) 
	   cout<<S1.pop()<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -