c++ stack 栈

来源:互联网 发布:云软件多少钱呢 编辑:程序博客网 时间:2024/06/07 07:00

C++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO)
使用该容器时需要包含

#include<stack>头文件;

定义stack对象的示例代码如下:

stack<int>s1;stack<string>s2;

stack的基本操作有:

1.入栈:如s.push(x);2.出栈:如 s.pop().注意:出栈操作只是删除栈顶的元素,并不返回该元素。3.访问栈顶:如s.top();4.判断栈空:如s.empty().当栈空时返回true。5.访问栈中的元素个数,如s.size();6.value_type& top() 返回栈顶元素,并不会移除这个元素(注意,返回的是栈顶元素的引用)

下面举一个简单的例子:

#include<iostream>    #include<stack>    using namespace std;    int main(void)    {         stack<double>s;//定义一个栈         for(int i=0;i<10;i++)             s.push(i);         while(!s.empty())         {             printf("%lf\n",s.top());             s.pop();        }         cout<<"栈内的元素的个数为:"<<s.size()<<endl;          s.top() = 2;   // 可以方便的修改栈顶元素        std::cout << s.top() << "\n";   // 输出 2       return 0;     }  
1 0