C++标准模板库(STL)——(五)

本文详细介绍了C++标准模板库(STL)中的三种容器适配器:stack(栈)、queue(队列)和priority_queue(优先级队列)。内容包括它们的基本概念、构造方式、常用操作如push、pop、数据存取以及应用实例。
摘要由CSDN通过智能技术生成

本次介绍的是STL的容器适配器,标准模板库包含了三种容器适配器:stack(栈);queue(队列)和优先级队列(priority_queue)。容器适配器是通过序列式容器实现的,即容器适配器中保存的是容器,容器再存放相关元素。

 

一.Stack容器

  1 .简介:

       stack是堆栈容器,是一种“先进后出”的容器。

stack是简单地装饰deque容器而成为另外的一种容器。

#include<stack>  

 

2. stack的对象的默认构造:

  stack采用模板类实现, stack对象的默认构造形式: stack <T>stkT;  

stack <int> stkInt;           //一个存放intstack容器。

stack <float> stkFloat;     //一个存放floatstack容器。

stack <string> stkString;    //一个存放stringstack容器。

...                  

//尖括号内还可以设置指针类型或自定义类型。

 

3  .  stackpush()和pop()操作:

   stack.push(elem);  //往栈头添加元素

stack.pop();   //从栈头移除第一个元素

 

 

stack<int> stkInt;      

stkInt.push(1);stkInt.push(3);stkInt.pop();   

stkInt.push(5);stkInt.push(7);  

stkInt.push(9);stkInt.pop();   

stkInt.pop();  

此时stkInt存放的元素是1,5  

 

4. stack 的拷贝构造和赋值:

  stack(const stack&stk);           //拷贝构造函数

stack& operator=(const stack &stk);     //重载等号操作符

 

 

         stack<int>stkIntA;

         stkIntA.push(1);

         stkIntA.push(3);

         stkIntA.push(5);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值