标准库--容器

1.vector
(1). 支持的迭代器类别
random_access_iterator_tag
(2). 内存组织
逻辑上连续的元素,线性地址空间内也连续。
(3). 内存扩张和收缩
a. 初始化时会默认分配一块可容纳指定数量的线性地址空间。
b. 执行reserve(n),在现有地址空间不足容纳n个元素时,会分配新空间以便可容纳n个元素。老空间会释放,老元素会转移。
c. 执行shrink_to_fit()会在size()<capcity()时,分配新空间恰好可容纳size()个元素。老空间会释放,老元素会转移。
d. 执行insert在现有空间无法容纳新元素时,触发容纳扩展。
(4). 线程安全
不提供线程安全保护。

2.list
(1). 支持的迭代器类别
bidirectional_iterator_tag
(2). 内存组织
逻辑上连续的节点,线性地址空间不连续。
(3). 内存扩展和收缩
a. 每次插入新节点,需为其分配线性空间,再插入。
b. 每次移除节点,需释放其线性空间。
(4). 线程安全
不提供线程安全保护。

3.stack
(1). 支持的迭代器类别
不支持迭代器
(2). 内存组织
stack是对逻辑操作施加限制的容器,即插入,删除只能在栈顶进行。
可以基于数组实现,也可基于链表实现。
(3). 线程安全
不提供线程安全保护。

4.deque
(1). 支持的迭代器类别
原则上可以不支持迭代器。
(2). 内存组织
deque是对逻辑操作施加限制的容器,即插入必须在尾部,删除只能在头部。
可以基于数组实现,也可基于链表实现。
(3). 线程安全
不提供线程安全保护。

5.map,set,mulmap,mulset
mapset都是基于平衡二叉树实现的容器。
map支持pair<key, value>形式的元素插入。set插入时直接是key。
mul版本和非mul版本的区别在于是否允许插入时,同一个key被插入多次。
(1). 支持的迭代器类别
bidirectional_iterator_tag
(2). 内存组织
有序二叉树组织。
(3). 线程安全
不提供线程安全保护。

6.unordered_map,unordered_set,mulunordered_map,mulunordered_set
基于链式哈希表实现的容器。
map支持pair<key, value>形式的元素插入。set插入时直接是key
mul版本和非mul版本的区别在于是否允许插入时,同一个key被插入多次。
(1). 支持的迭代器类别
forward_iterator_tag
(2). 内存组织
链式哈希表,一般采用数组作为槽结构。以便采用链表来组织同一个槽下各个元素。
(3). 线程安全
不提供线程安全保护。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/637589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识HarmonyOS

文章目录 本章节目标一、 HarmonyOS简介初识HarmonyOSHarmonyOS系统定位HarmonyOS典型应用场景 二、HarmonyOS架构与安全1. HarmonyOS架构解析内核层系统服务层框架层应用层应用服务智能分发 2. HarmonyOS系统安全正确的人正确的设备正确地使用数据 三、HarmonyOS关键特性1. 硬…

redis远程连接不上解决办法

问题描述&#xff1a; redis远程服务端运行在192.168.3.90计算机上&#xff0c;客户端计算机&#xff08;ip:192.168.3.110&#xff09;通过redsi-cli.exe客户端工具连接时&#xff0c;没有反应&#xff0c;连接不上。 如图所示&#xff1a; 解决步骤&#xff1a; 步骤一&…

OpenCV编译C++测试程序获取cuda设备信息

视频讲解 OpenCV编译C测试程序获取CUDA设备信息 测试代码 test-cv.cpp #include <opencv2/opencv.hpp> #include <opencv2/cudaimgproc.hpp> #include <iostream>using namespace cv; using namespace cv::cuda; using namespace std;int main(int argc, c…

计算机网络(第六版)复习提纲6

SS2.3 导引型传输媒体 1.三类位非导引型传输媒体 a)双绞线&#xff1a;两根铜线平行会相互干扰&#xff0c;垂直干扰最小&#xff0c;双绞线近似垂直&#xff0c;绞合度越高&#xff0c;可用的数据传输率越高。 i.无屏蔽双绞线UTP&#xff08;便宜&#xff09; ii.屏蔽双绞线&a…

USB-C接口给显示器带来怎样的变化?

随着科技的不断发展&#xff0c;Type-C接口已经成为现代电子设备中常见的接口标准。它不仅可以提供高速的数据传输&#xff0c;还可以实现快速充电和视频传输等功能。因此&#xff0c;使用Type-C接口的显示器方案也受到了广泛的关注。本文将介绍Type-C接口显示器的优势、应用场…

如何进行正确的 CodeReview

软件开发生命周期中至关重要的一步是代码审查。它使开发人员能够显著提升代码质量。它类似于书籍的创作过程。首先&#xff0c;作者写故事&#xff0c;然后经过编辑以确保不会出现诸如混淆“you’re”和“yours”之类的错误。在这个语境中&#xff0c;代码审查指的是检查和评估…

Python项目——计算器(PySide6+Pyinstaller)

1、介绍 使用python编写一个计算器&#xff0c;可以实现基本的运算。【注】该项目最终还有一些细小的bug没有完善&#xff0c;例如符号可以一直输入。 2、实现 使用pyCharm创建一个新的项目。 2.1、设计UI 使用Qt designer设计一个UI界面&#xff0c;保存ui文件&#xff0…

直流过欠压继电器JSZD-1A DC220V 0-220V 面板嵌入式安装

一、 概述 JSZD-1系列直流电压继电器是专为直流系统设计的&#xff0c;以进口大规模集成电路为核心&#xff0c;配以本厂研制的模块和部分外围元件组装而成。具有通用性好、互换性强、寿命长、外形美观大方、性能稳定可靠等特点。 JSZD-1系列直流电压继电器既是一块过、欠压继…

Python 类变量和实例变量详解

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在Python中&#xff0c;变量分为类变量和实例变量两种类型&#xff0c;它们有着不同的作用范围和生命周期。理解这两种变量类型的区别对于面向对象编程非常重要。本文将详细介绍Python中的类变量和实例变量&…

ModuleNotFoundError: No module named ‘setuptools_rust‘

出现 ModuleNotFoundError: No module named setuptools_rust 错误通常是因为你尝试安装的 Python 包需要 Rust 语言支持&#xff0c;而你的环境中没有安装 setuptools_rust 包。解决这个问题的方法是安装 setuptools_rust 模块。你可以在 Python 环境中运行以下命令来安装&…

代码随想录训练营day6

(一)有效的字母异位词 大概的方法就是将所有出现的字母先转换为数字都放在数组当中&#xff0c;然后再遍历另一个字母的时候&#xff0c;我们再从原来的字母减掉 class Solution { public:bool isAnagram(string s, string t) {int record[26]{0};for(int i0;i<s.size();i…

CentOS7 LAMP环境安装部署Zabbix

CentOS7 LAMP环境安装部署Zabbix 查看CentOS版本号 more /etc/redhat-release server 最好配置静态IP地址、DNS&#xff0c;在DHCP服务器将此IP地址排除掉。 Hostname 改为zabbix 服务端&#xff1a;172.20.26.137 客户端&#xff1a;172.20.26.113 Zabbix服务端安装及配…

3.postman动态参数、文件上传及断言

一、postman内置动态参数以及自定义的动态参数 postman内置动态参数&#xff1a; {{$timestamp}} 生成当前时间的时间戳 {{$randomint}} 生成0-1000之间的随机数 {{$guid}} 生成随机guid字符串 自定义动态参数&#xff1a; 在请求中pre-req页面下 //手动的获得时间戳 var…

四个简单的bat脚本

Windows11 最大劝退点就是这个右键菜单&#xff0c;复制粘贴都变成一点点的小图标&#xff0c;最气人的是点击底部的显示更多选项才能展示全部功能。让许多本来点一次就能完成的操作变成两次。其实使用一个小命令就能修改回win10版本的菜单。四个简单的bat脚本&#xff0c;能完…

探索指针的奇妙世界,程序中的魔法箭头(上)

目录 一.指针是什么二.指针和指针类型1.指针加减整数2.指针的解引用 三.野指针1.野指针形成的原因&#xff08;1&#xff09;指针未初始化指针越界访问 2.如何规避野指针&#xff08;1&#xff09;指针初始化&#xff08;2&#xff09;小心指针越界&#xff08;3&#xff09;指…

第七回 林教头刺配沧州道 鲁智深大闹野猪林-FreeBSD/Linux图形界面安装配置

高俅定林冲&#xff1a;手持利刃&#xff0c;故入节堂&#xff0c;杀害本官的罪名&#xff0c;将林冲押解去开封府&#xff0c;暗示开封府将林冲处决。 开封府负责办案的叫孙定&#xff0c;他为人刚正不阿&#xff0c;宅心仁厚。在他的据理力争之下&#xff0c;开封府尹最终对…

【计算机网络】TCP握手与挥手:三步奏和四步曲

这里写目录标题 前言三次握手四次挥手三次握手和四次挥手的作用TCP三次握手的作用建立连接防止已失效的连接请求建立连接防止重复连接 TCP四次挥手的作用&#xff1a;安全关闭连接避免数据丢失避免半开连接 总结&#xff1a; 总结 前言 TCP&#xff08;传输控制协议&#xff09…

终极解决Flutter项目运行ios项目报错Without CocoaPods, plugins will not work on iOS or macOS.

前言 最近在开发Flutter项目&#xff0c;运行ios环境的时候报错没有CocoaPods&#xff0c;安卓环境可以正常运行&#xff0c;当时一脸懵逼&#xff0c;网上搜索了一下&#xff0c;有给我讲原理的&#xff0c;还有让我安装这插件那插件的&#xff0c;最终把电脑搞得卡死&#x…

25计算机考研408专业课复习计划

点击蓝字&#xff0c;关注我们 今天要分享的是25计算机考研408专业课复习计划。 以下内容供大家参考&#xff0c;大家要根据自己的复习情况进行适当调整。 统考与自命题 统考科目是指计算机学科专业基础综合&#xff08;408&#xff09;&#xff0c;满分150分&#xff0c;试…

2024年华为OD机试真题-素数之积-Java-OD统一考试(C卷)

题目描述: RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。 输入描述: 一个正整数num 0 < num <= 2147483647 输出描述: 如果成功找到,以单个空…