C++ 容器

C++ 容器

C++ 容器(Container)是指一种数据结构,用于存储和管理一组元素。容器提供了一种方便的方式来存储和访问数据,支持各种算法和迭代器。

容器类

C++ 标准库提供了许多预定义的容器类,包括:

  • 顺序容器(Sequence Container):元素按照特定的顺序存储和访问。
    • vector:动态数组。
    • list:双向链表。
    • deque:双端队列。
  • 关联容器(Associative Container):元素通过键值对存储和访问。
    • map:有序映射表。
    • multimap:有序多重映射表。
    • set:有序集合。
    • multiset:有序多重集合。
  • 无序容器(Unordered Container):元素存储和访问顺序不确定。
    • unordered_map:无序映射表。
    • unordered_multimap:无序多重映射表。
    • unordered_set:无序集合。
    • unordered_multiset:无序多重集合。

常用操作

  • insert:插入元素。
  • erase:删除元素。
  • size:获取容器大小。
  • empty:检查容器是否为空。
  • begin:获取容器的开始迭代器。
  • end:获取容器的结束迭代器。
  • operator[]:访问容器元素(仅适用于顺序容器和关联容器)。

容器优点

  • 提供了方便的数据存储和管理方式。
  • 支持各种算法和迭代器。
  • 可以自定义容器以满足特定的需求。

容器缺点

  • 可能存在性能开销。
  • 需要了解不同容器的特性和用途。
容器概念分类优点缺点使用场景
Vector动态数组顺序容器快速随机访问, 内存连续插入删除慢, 内存浪费动态数组存储, 需要快速随机访问的数据
List双向链表顺序容器快速插入删除, 内存动态分配随机访问慢, 内存碎片频繁插入删除的数据, 需要动态内存分配
Deque双端队列顺序容器快速插入删除, 内存动态分配随机访问慢, 内存碎片双端队列存储, 需要动态内存分配
Map有序映射表关联容器快速查找, 有序数据插入删除慢, 内存浪费键值对数据存储, 需要快速查找和有序数据
Multimap有序多重映射表关联容器快速查找, 有序数据插入删除慢, 内存浪费多重键值对数据存储, 需要快速查找和有序数据
Set有序集合关联容器快速查找, 有序数据插入删除慢, 内存浪费唯一元素集合存储, 需要快速查找和有序数据
Multiset有序多重集合关联容器快速查找, 有序数据插入删除慢, 内存浪费多重元素集合存储, 需要快速查找和有序数据
Unordered Map无序映射表无序容器快速查找, 内存动态分配插入删除慢, 内存碎片无序键值对数据存储, 需要快速查找和动态内存分配
Unordered Multimap无序多重映射表无序容器快速查找, 内存动态分配插入删除慢, 内存碎片无序多重键值对数据存储, 需要快速查找和动态内存分配
Unordered Set无序集合无序容器快速查找, 内存动态分配插入删除慢, 内存碎片无序元素集合存储, 需要快速查找和动态内存分配
Unordered Multiset无序多重集合无序容器快速查找, 内存动态分配插入删除慢, 内存碎片无序多重元素集合存储, 需要快速查找和动态内存分配
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值