实现一个栈类模板,能够进行压栈、出栈、获取栈顶元素等操作。
命令格式如下:
(1)Push x:将x压入栈
(2)Pop:出栈
(3)Top:获取栈顶元素
主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码。
C++
int main()
{
Stack<int, 10> st;//栈最多10个元素
string cmd;
while(cin>>cmd)
{
try
{
if(cmd==“Push”)
{
int x;
cin>>x;
st.Push(x);
}
else if(cmd==“Top”)
{
cout<<st.Top()<<endl;
}
else if(cmd==“Pop”)
{
cout<<st.Top()<<endl;
st.Pop();
}
}
catch(string &str)
{
cout<<str<<endl;
}
}
return 0;
}
输入
输入相关的命令,一直到EOF结束为止。
输出
当碰到Top命令时输出栈顶元素,当碰到Pop命令时先输出栈顶元素,再出栈,如果栈空则输出“Empty”,如果栈满则输出“Full”。
样例输入
Push 1
Push 2
Push 3
Push 4
Push 5
Push 6
Push 7
Push 8
Push 9
Push 10
Push 11
Pop
Top
样例输出
Full
10
9
#include<iostream>
#include<string>
using namespace std;
template<typename T, int V>
class Stack {
T* data;
int top;
public:
Stack();
~Stack();