STL中包含了栈的模板类,提供了一种符合stack数据类型的FILO(先进后出)的规则的实现,我们可以方便的使用。
构造一个stack的对象,也是需要两个参数,一个元素类型(必须),一个容器类型(可选),而且和queue一样,容器类型默认使用的是双向队列,dque.
基本使用的方法也不多,甚至比较少。很常见
bool empty(); ---------判断栈是否为空,空返回真
size_t size(); ---------返回栈的大小
void pop(); ---------栈顶元素出栈
//一下的方法都有基于const和非const的方法
reference top();---------读取栈顶元素,返回栈顶元素
void push(x); ---------入栈
栈的实现在头文件 #include < stack >中,使用的时候包含即可
#include<iostream>
#include<stack>
using namespace std;
int main()
{
stack<int> mystack;
//入栈
mystack.push(100);
mystack.push(20);
mystack.push(30);
cout<<"入栈后的大小:"<<mystack.size()<<endl;
int data;
data = mystack.top();
mystack.pop();
cout<<data<<"->出栈"<<endl;
data = mystack.top();
mystack.pop();
cout<<data<<"->出栈"<<endl;
data = mystack.top();
mystack.pop();
cout<<data<<"->出栈"<<endl;
cout<<"出栈后的大小:"<<mystack.size()<<endl;
return 0;
}