搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Gausst松鼠会
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Unity使用MicroPhone类调用麦克风录音_unity microphone.isrecording
2
PostgreSQL 中的全文搜索:综合指南_pg全文搜索
3
机器学习实用代码汇总(你想要的这里都有)_机器学习代码
4
nodejs做即时聊天_nodejs langchain 案例聊天实例
5
Python爬虫解析器BeautifulSoup4_python beautifulsoup4
6
Spring-Boot中父依赖或 spring-boot-maven-plugin报红处理办法_org.springframework.boot爆红
7
一线工程师告诉你嵌入式真实现状与发展前景
8
SQLServer查询分析小结 Table Scan/Index Seek/Index Scan_sqlserver index scan
9
Unity3D入门篇——第六讲 GUI控件(四)_unity gui.beginscrollview 样式
10
SQL Server数据库查询速度慢的原因和解决方法
当前位置:
article
> 正文
简述STL中容器适配器的概念_容器适配器包括哪些
作者:Gausst松鼠会 | 2024-03-06 10:22:14
赞
踩
容器适配器包括哪些
STL中提供了三种容器适配器:栈适配器、队列适配器和优先队列适配器。在使用STL时。可以向使用普通的栈stack、队列queue、和优先队列priority_queue那样去操作数据。
栈的特征是后进先出,后入栈的元素先出栈,先入栈的元素后出栈,因此站适配器应该支持从栈顶添加删除元素以及访问元素的操作。容器vector、list和quque都满足栈操作的条件,因此都能作为栈适配器的底层容器,STL中默认使用deque作为栈适配器的底层容器。
队列的特征是先进先出,先入队的元素先出队,后入队的元素后出队,因此队列适配器应该支持从队头删除元素、向队尾添加元素以及访问队头队尾元素的操作。由于容器vector在删除首元素时需要移动所有元素,因此不适合作为队列适配器的底层容器,应该选用list或者deque,STL中默认使用deque作为队列适配器的底层容器。
优先队列在逻辑上与队列相似,一端插入元素和另一端删除元素,但是优先队列在元素中加入了权重的概念。优先队列中的元素并非像队列一样按照插入的顺序依次排列,而是根据元素的权重排列。添加元素时按照元素优先级插入到相应的位置,删除元素时将优先级最高的元素删除。
优先队列中权重相邻的元素在底层容器中并不相邻。实际上优先队列利用底层容器实现了一个队,堆顶的元素优先级最高。堆背后的数据结构是一个二叉树,底层容器中的元素就是二叉树中的结点,二叉树通过顺序容器的下标存储父子结点之间的关系。
优先队列的插入删除元素在底层容器实现的堆上进行操作。在堆的插入删除算法中,需要随机访问元素,因此不能使用list作为优先队列适配器的底层容器,比较而言deque也不太适合,STL中默认使用vector作为优先队列适配器的底层容器。
栈适配器支持删除栈顶元素pop,向栈顶压入元素push,返回栈顶元素top;队列适配器支持删除队首元素pop,向队尾添加元素push,返回队首元素front,返回队尾元素back;优先队列适配器支持删除最高优先级元素pop,添加元素push,返回最高优先级元素top。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/197907
推荐阅读
article
使用
cloudbase
-
init
初始化
windows
虚拟机...
最近在做一个功能,虚拟机开机时
初始化
用户、ip信息。linux系统的通过自启动脚本搞定了,
windows
的采用cloud...
赞
踩
article
linux
命令
curl
详解_
linux
curl
命令详解...
linux
命令
curl
详解_
linux
curl
命令详解
linux
curl
命令详解 ...
赞
踩
article
Python
列表
sort
()
函数
使用详解_
sort
函数
python
...
sort
() 可以对
列表
进行「排序」_
sort
函数
python
sort
函数
python
...
赞
踩
article
Js拼接
html
并给
onclick
传
多个
参数
...
return '
onclick="showIt...
赞
踩
article
如何
将
HTTP
请求
转换为
cURL
命令行
_
将
请求
转换成
curl
...
当我们使用pytest或者unittest进行接口测试,发现bug,详细描述之后提给RD,但是往往不够,RD为了更快复现...
赞
踩
article
结合
YOLOv5
和
MediaPipe
的越界
识别
_
yolov5
越界
识别
...
针对某些人员围栏探出检测任务中,在使用预训练
YOLOv5
模型对检测区域的行人进行检测基础上,使用
MediaPipe
姿态检...
赞
踩
article
做为一名
程序
员应该
有
的
的
好
习惯
_
写
程序
的
好
习惯
...
1、多思考,多动脑。在编程或者思考算法建立框架时,不要急着
写
代码,应当先规划好整体
的
框架,再动手,要尝试提高代码
的
整洁度...
赞
踩
article
这
10
个
程序员
的
好
习惯
,让我变强了...
今天给大家分享几
个
程序员
的
好
习惯
。1. 引入新
的
技术栈
的
时候,要以官方文档为主在项目里,无论使用新
的
jar 包,还是用...
赞
踩
article
使用
Python
模拟
百度
图片
搜索
,
自动
下载
图片
保存
到
文件夹
,采用JS方式(文章最后附上完整源码
下载
)...
你还在一张一张从
百度
下载
图片
吗?今天就教你如何用
Python
实现
图片
自动
下载
_
百度
图片
自动
搜索
保存
脚本
百度
图片
自动
搜索
...
赞
踩
article
从
虚拟
机上安装
linux
(超详细)以及
linux
的
一
些简单教程(
一
)_garuda
linux
分区
...
第
一
章 部署
虚拟
环境安装
linux
系统及配置网路
一
、
linux
简介首先在学习
linux
系统之前,我觉得应该先了解
一
下li...
赞
踩
article
银河
麒麟
配置
java
环境_中标
麒麟
系统
上安装
Java
、
Eclipse
指南.doc...
中标
麒麟
系统
上安装
Java
环境指南
Java
_NeoKylin_Install_Guide2015-01-12修订记录序号...
赞
踩
article
2
0
2
4年
腾讯
云
2
核
4G5M
轻量
服务器
性能
评测,多维度测试...
本文的
轻量
2
核
4G5M
服务器
,公网下载速度可达640KB/秒,但是
轻量
应用
服务器
的公网带宽是有月流量限制的,这款
轻量
应用...
赞
踩
article
C++
容器
适配器
的
理解与使用
_
c++
判断
适配器
是否启用...
1.对
容器
适配器
的
理解
C++
提供了三种
容器
适配器
(container adapter):stack,queue和prio...
赞
踩
article
Python
情人节
告白特技
:
隐藏在
聊天记录
里
的
珍贵
礼物
...
今天又双叒叕是一年一度
的
恋爱节了!又是一波绝好
的
机会!恩爱秀起来!购物车清空!
礼物
送起来!朋友圈晒起来!等等!什么?!你...
赞
踩
article
容器
适配器
stack
,
queue
和
priority
_
queue
...
一.什么是容器
适配器
容器
适配器
是一个封装了序列容器的一个类模板,它在一般的序列容器的基础上提供了一些不同的功能。之所以...
赞
踩
article
对抗
软件
工程的
复杂度
_对抗
软件
复杂度
...
后来增加了服务C也会调用服务S,服务C调用服务S的时候发现服务S有个实现上的缺陷,此时理论上应该修改服务S,但由于负责服...
赞
踩
article
Linux
xshell
脚本
语言
入门 初级 学习_
xshell
语言
...
Linux
shell
脚本
语言
shell 是一种
语言
命令。主要用于跟linux系统打交道 主要用来操控linux命令执行...
赞
踩
article
下雨天
:女神说晚上有
星星
就跟我约会?
Python
带
你
绘制
满天星
河_
python
浪漫
星空
代码...
导语"带
你
去看
星星
好吗?” “好”这句话真的是特别的
浪漫
,漫天星光,是
你
,余生是
你
,都是
你
~所有的晦暗都留给过往...
赞
踩
article
程序员
的好
习惯
_
程序员
好的
习惯
...
1.学会备份。2.经常保存Ctrl+s,怕电脑死机,停电。开发软件死机。3.代码多多联系。4.不要对着视频抄代码。5.运...
赞
踩
article
C++
:
顺序
执行
(适合小白)
_
c++
执行
顺序
左右...
空语句不做任何事情,其作用是用于语法上需要一条语句的地方,而这个地方恰好不需要做任何事情。最简单的流程控制就是
顺序
执行
,...
赞
踩
相关标签
Openstack
云平台
linux
运维
服务器
curl
python
人工智能
网络安全
机器学习
http
网络协议
软件测试
测试工具
自动化测试
程序员
职场经验
YOLO
计算机视觉
opencv
编程语言
java
js
从虚拟机上安装linux(超详细)以及linux的一些简单教程(一)