【转】STL中stack的用法

手写多,学习下STL,和queue还有稍稍有点差别,当记录贴水一水



转载出处http://hi.baidu.com/love_himself/item/a2174fda363fd6d3241f404b


  stack也是程序设计中常常用到的数据容器,STL为我们提供了stack的实现,因此在使用stack时必须包含头文件<stack>,并使用统一命名空间。

1.声明一个stack

   stack<int> s1;

   stack<string> s2;

stack模板类需要2个模板参数,一个为元素类型,一个为容器类型,但是只有元素类型是必要的,在容器类型缺省时,默认为deque。

2.stack中的操作

    stack<int> s;

   s.push(x)      无返回值,将元素x压栈

   s.pop();       退栈,无返回值

   s.top();       取栈顶元素,返回栈顶元素

   s.empty();     判断栈是否为空,如果是空,返回1,否则返回0

    s.size();      返回栈中元素的个数

在栈中没有提供清空操作的函数,但是可以间接地实现清空栈,

   while(!s.empty())

   {    

          s.pop();

   }


你可能感兴趣的:(【转】STL中stack的用法)