STL学习之stack使用

来源:互联网 发布:java逆序输出字符串 编辑:程序博客网 时间:2024/05/16 19:10

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;}

这里写图片描述

0 0