栈是最为常用的数据结构了,很多算法都是依靠栈来实现的,比如递归。我们要手动来实现栈,显得十分繁琐和麻烦,而且复用性不好。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;
栈作为最简单的数据结构,我们一定要好好掌握。
时间: 2024-10-11 02:20:03