📄 p10_1.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 + -