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

C++基础7:STL六大组件

目录

一、标准容器

1、顺序容器

vector

​编辑

deque

list

容器适配器

stack

queue

prority_queue:

关联容器

有序关联容器set、mutiset、map、mutimap    增删查O(log n)

无序关联容 unordered_set、unordered_mutiset、unordered_map、unordered_mutimap   增删查O(1)

迭代器

iterator 

const_iterator

reverse_iterator 

const_reverse_iterator

函数对象

greater,less

泛型算法

一、标准容器

1、顺序容器

有迭代器,没有find,只有泛型算法的find(因为有迭代器,所以可以使用),有insert、erase(因为有迭代器,所以可以使用),有back()、front()

vector

底层数据结构:动态开辟的数组
扩容方式:每次以原来空间大小的2倍进行扩容
具体过程:
当需要在 std::vector 中插入元素时,如果当前容量足够,则直接在当前内存空间进行插入操作。
如果当前容量不足以容纳新元素,则需要进行扩容操作。
std::vector 会分配一个新的更大的内存空间,通常是当前容量的两倍或根据具体实现策略进行动态调整。
接下来,std::vector 将会将原来的元素逐个复制到新的内存空间中。
扩容完成后,原来的内存空间将会被释放,而新的内存空间将会成为 std::vector 的内部存储空间。

deque

底层数据结构:

http://www.lryc.cn/news/366647.html

相关文章:

  • 特别名词Test Paper1
  • 每日题库:Huawe数通HCIA——全部【813道】
  • #04 Stable Diffusion与其他AI图像生成技术的比较
  • 不确定性+电动汽车!含高比例新能源和多类型电动汽车的配电网能量管理程序代码!
  • 准确-K8s系列文章-修改containerd 默认数据目录
  • 深入探索Linux命令:`aulastlog`
  • Debezium日常分享系列之:Debezium 2.6.2.Final发布
  • PHP质量工具系列之phpmd
  • 【java】速度搭建一个springboot项目
  • SystemVerilog测试框架示例
  • 每天一个数据分析题(三百五十六)-图表决策树
  • Prism 入门06,发布订阅(入门完结)
  • 2. pytorch环境安装
  • 力扣爆刷第148天之贪心算法五连刷(区间合并)
  • JSON及Python操作JSON相关
  • [ 网络通信基础 ]——网络的传输介质(双绞线,光纤,标准,线序)
  • Android 高德地图API(新版)
  • LeetCode---二叉树
  • 从0开发一个Chrome插件:核心功能开发——弹出页面
  • AIGC笔记--Stable Diffusion源码剖析之UNetModel
  • Linux文件系统与日志分析
  • 【SkyWalking】使用PostgreSQL做存储K8s部署
  • 详解大模型微调数据集构建方法(持续更新)
  • 自制植物大战僵尸:HTML5与JavaScript实现的简单游戏
  • Istio_1.17.8安装
  • [数据集][目标检测]室内积水检测数据集VOC+YOLO格式761张1类别
  • 17_Vue高级监听器生命周期Vue组件组件通信
  • 【ROS使用记录】—— ros使用过程中的rosbag录制播放和ros话题信息相关的指令与操作记录
  • Laravel 富文本内容
  • Spark Python环境搭建与优化:深入剖析四个方面、五个方面、六个方面及七个关键要点