定义一个堆栈类模板,实现数据类型数据的入栈和出栈操作,堆栈的大小用非类型参数指定。
- 能实现数据的入栈、出栈、返回栈顶元素、判空、判满功能
- 能实现显示栈内成员
#include<iostream>
using namespace std;
// 定义Stack类
template<class T, int MaxSize>
class Stack {
public:
Stack() {
elems = new T[MaxSize];
top = -1;
}
~Stack() { delete elems; }
bool IsEmpty(Stack &stack1)const{
if (stack1.top == 1)
{
return true;
}
return false;
}
bool IsFull(Stack& stack1)const{
if (stack1.top == MaxSize - 1)
{
return true;
}
return false;
}
T Top_Data(Stack &stack1)const;
Stack<T, MaxSize>& Push(const T& x,Stack &stack1);
Stack<T, MaxSize>&