欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++ STL学习——stack

程序员文章站 2022-10-31 14:43:29
栈是最为常用的数据结构了,很多算法都是依靠栈来实现的,比如递归。我们要手动来实现栈,显得十分繁琐和麻烦,而且复用性不好。c++ 的stl中已经帮我们封装好了栈,我们只要方便的进行调用即可。该篇博客主...

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

 

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

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

(3)创建stack

    stack stack1; // 默认构造函数
    stack 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;

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