C++STL之堆栈(后进先出)stack详解-创新互联

文章目录
  • Part.I Attention
  • Part.II Funciton
  • Part.III Code

创新互联建站从2013年创立,先为米林等服务建站,米林等地企业,进行企业商务咨询服务。为米林企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。Part.I Attention
  • stack容器适配器的数据是以LIFO(Last in First Out, 后进先出) 的方式组织的,可以将它想象成放在餐桌上的一摞盘子。
  • 必须要包含头文件#include
Part.II Funciton

和其他序列容器相比,stack是一类存储机制简单、所提供操作较少的容器。如下图所示,stack 对象仅仅只有7个函数。
在这里插入图片描述
下面是stack容器可以提供的一套完整操作:

函数名含义
top()返回一个栈顶元素的引用,类型为T&。如果栈为空,返回值未定义。
push(const T& obj)可以将对象副本压入栈顶。这是通过调用底层容器的push_back()函数完成的。
push(T&& obj)以移动对象的方式将对象压入栈顶。这是通过调用底层容器的有右值引用参数的push_back()函数完成的。
pop()弹出栈顶元素,不返回任何值。
size()返回栈中元素的个数。
empty()在栈中没有元素的情况下返回 true。
emplace()用传入的参数调用构造函数,在栈顶生成对象。类似于push(),比之少调用一次构造函数
swap(stack& other_stack)将当前栈中的元素和参数中的元素交换。参数所包含元素的类型必须和当前栈的相同。对于 stack 对象有一个特例化的全局函数swap()可以使用。
Part.III Code

完整代码如下:

#include#include#includeusing namespace std;

int main()
{int tmp=0;
    stackstk({0,1,2,3});  // stackstk;
    stackstk1({0,1,2,3}); 
    cout<

因为操作比较简单,所以就不进行解释了。下面是输出:

3
5  5
4  3

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:C++STL之堆栈(后进先出)stack详解-创新互联
标题路径:http://azwzsj.com/article/cdepgd.html