c++语言之stack的基本使用
解释:
如果用一种东西去形容他,那就是一头封闭的,一头开放的单行道。里面想要出来,就必须你后面进去的人先出来。里面容纳的人数,就是空间大小数目(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++中的基本使用规则。