解释:
如果用一种东西去形容他,那就是一头封闭的,一头开放的单行道。里面想要出来,就必须你后面进去的人先出来。里面容纳的人数,就是空间大小数目(maxsize)。
方法:stack<typer> mystack;(定义)
void push(typer); 该方法就是添加一个typer类型的入栈。
void pop(); 该方法就是在栈中出一个typer类型的元素。但不返回,该元素,只是出栈而已。
typer top(); 该方法就是返回栈的头顶元素。
boolean empty(); 该方法就是返回栈为不为空,空就是true,不空就是false;
void size(); 该方法就是返回一个数字,表示里面的栈的元素的个数。
详细一点的解释:
通过一个代码解释一下所以的方法吧!
题目:
输入各个命令,它们对应的格式如下:
压入堆栈:push a,a代表压入堆栈的元素,这里push和元素之间用空格分隔。
清空堆栈:clear
获取栈顶元素:top
弹出栈顶元素:pop
当输入的命令为exit时,程序结束。
当输入的命令为pop时,请输出弹出的元素值。
当输入的命令是top时,请输出当前栈顶元素值。
注意,如果没有满足的元素,请输出None。
代码:
#include <iostream>
#include <stack>
using namespace std;
int main()
{
stack<int> mystack;
string str;
while (cin>>str)
{
if (str == "exit")
break;
else if (str == "pop")
{
if (mystack.size() == 0)
cout<<"None"<<endl;
else
{
int k = mystack.top();
mystack.pop();
cout<<k<<endl;
}
}
else if (str == "top")
{
if (mystack.size() == 0)
cout<<"None"<<endl;
else
cout<<mystack.top()<<endl;
}
else if (str == "clear")
{
while(!mystack.empty())
mystack.pop();
}
else if (str == "push")
{
int k;
cin>>k;
mystack.push(k);
}
}
return 0;
}
该代码详细的介绍了方法的使用。每一个的方法使用,比较综合。可以借鉴一下。
以上就是stack在c++中的基本使用规则。