C++ STL学习——stack
程序员文章站
2022-05-18 14:49:03
栈是最为常用的数据结构了,很多算法都是依靠栈来实现的,比如递归。我们要手动来实现栈,显得十分繁琐和麻烦,而且复用性不好。c++ 的stl中已经帮我们封装好了栈,我们只要方便的进行调用即可。该篇博客主...
栈是最为常用的数据结构了,很多算法都是依靠栈来实现的,比如递归。我们要手动来实现栈,显得十分繁琐和麻烦,而且复用性不好。c++ 的stl中已经帮我们封装好了栈,我们只要方便的进行调用即可。该篇博客主要介绍stl 中stack的使用,stack应该说是stl中最简单的容器了。实例代码上传至 https://github.com/chenyufeng1991/stl_stack 。
(1)首先引入头文件 #include
(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;
栈作为最简单的数据结构,我们一定要好好掌握。