当前位置: 首页 > article >正文

C++核心编程和桌面应用开发 第十五天(deque/stack/queue)

目录

1.deque容器

1.1构造和赋值(同vector类似)

1.2大小操作

1.3插入和删除

1.5数据存取

1.6排序(升序)

2.stack容器

3.queue容器


1.deque容器

1.1构造和赋值(同vector类似)

deque内部工作原理:

deque内部有个中控器,维护每段缓冲区的内容,缓冲区中存放真实数据,中控器维护缓冲区的地址

【构造函数】

【赋值函数】

注意:

  • push_back(数据),尾插数据;
  • deque是双端数组,可以对头尾进行增删;
  • deque<int>::iterator迭代器也支持随机访问;
  • deque相对于vector,优势在于头插的速度更快。

1.2大小操作

【容器大小函数】

注意:deque没有容量的概念

1.3插入和删除

【插入函数】

【删除函数】

1.5数据存取

1.6排序(升序)

//举例
deque<int> d;
sort(d.begin(), d.end());//对begin和end之间的元素排序

2.stack容器

stack(栈)是先进后出,只有一个栈顶的出口,因此栈不允许遍历操作

【构造函数】

【赋值函数】

【数据存取】

【大小操作】

//举例	
stack<int> s;	//默认构造{10,20,30}
s.push(10);
s.push(20);	//栈顶入栈
s.push(30);

stack<int> s1 = s;	//拷贝构造

s.pop();	//从栈顶移除30,s={10,20}

int top_stack = s.top();	//top_stack=20

3.queue容器

特点:先进先出

【构造函数】

【赋值函数】

【数据存取】

【大小操作】

//举例
queue<int> q;	//默认构造函数
q.push(10);		//q={10,20,30}
q.push(20);		//队尾插入
q.push(30);

queue<int> q1 = q;	//	拷贝构造

q.pop();	//q={20,30}
int last = q.back();	//last=30
int first = q.front();	//last=20


http://www.kler.cn/news/366046.html

相关文章:

  • Ceph入门到精通-Osd db扩容
  • 【DSP】TI 微控制器和处理器的IDE安装CCSTUDIO
  • 【数据结构初阶】二叉树---堆
  • 力扣143:重排链表
  • AI智能电销机器人有什么功能?语音机器人系统搭建
  • Excel功能区变灰是什么原因造成?怎么解决?
  • ubuntu 20.04修改DNS
  • 高并发场景下解决并发数据不一致
  • 自然语言处理:第五十五章 RAG应用 FastGPT 快速部署
  • pair类型应用举例
  • C++ 算法学习——1.3 Prim算法
  • python操作CSV和excel,如何来做?
  • <项目代码>YOLOv8煤矿输送带异物识别<目标检测>
  • 安装Vue CLI的详细指南
  • 数据采集与数据分析:数据时代的双轮驱动
  • 零基础Java第十期:类和对象(一)
  • Mybatis mapper文件 resultType和resultMap的区别
  • 电脑重做系统后打游戏很卡
  • 循序渐进丨MogDB 与 PostgreSQL 对比测试IPv6
  • Flask-SocketIO 简单示例
  • unity游戏开发之塔防游戏
  • LinkAndroid v0.0.12 发布,手机连接助手,日志查看、投屏设置、多处问题修复
  • 光控资本:养老金融建设提速 高速铜缆市场空间广阔
  • 【工作技术栈】通用的旁路缓存一致性缺陷以及解决方式
  • ERR_PNPM_LINKING_FAILED Error: EPERM: operation not permitted, rename...
  • Scaffold-GS: Structured 3D Gaussians for View-Adaptive Rendering