码迷,mamicode.com
首页 > 编程语言 > 详细

C++ STL学习——stack

时间:2016-08-23 01:38:37      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:

      栈是最为常用的数据结构了,很多算法都是依靠栈来实现的,比如递归。我们要手动来实现栈,显得十分繁琐和麻烦,而且复用性不好。C++ 的STL中已经帮我们封装好了栈,我们只要方便的进行调用即可。该篇博客主要介绍STL 中stack的使用,stack应该说是STL中最简单的容器了。实例代码上传至  https://github.com/chenyufeng1991/STL_stack


(1)首先引入头文件 #include <stack>   .并使用命名空间:using namespace std;

(2)需要注意的是,stack不提供任何的迭代器操作。因为stack不能进行随机访问,也不能进行遍历,它只能访问栈顶的元素。

(3)创建stack

    stack<int> stack1; // 默认构造函数
    stack<int> stack2(stack1); // 复制构造函数


(4)push(): 入栈

    stack1.push(2);
    stack1.push(4);
    stack1.push(6);


(5)top(): 访问栈顶元素

cout << "顶部元素为:" << stack1.top() << endl;
仅仅只是获取栈顶元素的值。

(6)pop():出栈

stack1.pop(); // 出栈操作是不返回栈顶元素的


(7)empty():判断栈是否为空

 cout << "stack是否为空:" << stack1.empty() << endl;
返回1表示stack为空,0表示不为空。


(8)size():获取当前stack中元素个数

 cout << "stack.size:" << stack1.size() << endl;

      栈作为最简单的数据结构,我们一定要好好掌握。

C++ STL学习——stack

标签:

原文地址:http://blog.csdn.net/chenyufeng1991/article/details/52281506

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!