顺序容器

简介: 一个容器就是一组特定类型对象的集合。顺序容器为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。 顺序容器概述 下表列出了标准库中的顺序容器,所有顺序容器都提供了快速顺序访问元素的能力。

一个容器就是一组特定类型对象的集合。顺序容器为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。

顺序容器概述

下表列出了标准库中的顺序容器,所有顺序容器都提供了快速顺序访问元素的能力。但是这些容器在以下方面都有不同的性能折中:

  • 向容器中添加或从容器中删除元素的代价
  • 非顺序访问容器中元素的代价
顺序容器类型

vector      可变大小数组、支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢

deque      双端队列。支持快速随机访问。在头尾位置插入/删除速度很快

list        双向链表。只支持双向顺序访问。在list中任何位置进行插入/删除操作速度都很快

forward_list   单向链表。只支持单向顺序访问。在链表任何位置进行插入/删除操作速度都很快

array      固定大小的数组。支持快速随机访问。不能添加或删除元素

string       与vector相似的容器,但专门用于保存字符。随机访问快。在尾部插入/删除速度快

除了固定大小的array外,其他容器都提供高效、灵活的内存管理。我们可以添加和删除元素,扩张和收缩容器的大小。容器保存元素的策略对容器操作的效率有着固有的,有时是重大的影响。在某些情况下,存储策略还会影响特定容器是否支持特定操作。

 

相关文章
|
区块链 Android开发
区块链大众化的落地产品-深度体验蚂蚁区块链鹊凿数字版权服务平台
从18年至今,一直在思考区块链的真正有价值的大众落地是什么。 18年在个人有限的认知里得出的结论是: 围绕着空气币是没有太多的价值,只对于黑灰色产业有价值。 19年末关注到了,蚂蚁链的-鹊凿数字版权版权平台。 时至今日,经历一年半的时光,2021年,最近看到了淘宝商家服务的成交量激增,和蚂蚁与杭州互联网公证处的深度合作。确信在未来3-5年,这是一个很好的历史市场环境。
2448 1
区块链大众化的落地产品-深度体验蚂蚁区块链鹊凿数字版权服务平台
|
XML JSON Java
Spring Boot 返回 XML 数据,一分钟搞定!
Spring核心技术 67 篇文章13 订阅 订阅专栏 Spring Boot 返回 XML 数据,前提必须已经搭建了 Spring Boot 项目,所以这一块代码就不贴了,可以点击查看之前分享的 Spring Boot 返回 JSON 数据,一分钟搞定!。
Spring Boot 返回 XML 数据,一分钟搞定!
|
传感器 自动驾驶 算法
SLAM:SLAM(即时定位与地图构建)的简介、发展、案例应用之详细攻略
SLAM:SLAM(即时定位与地图构建)的简介、发展、案例应用之详细攻略
|
缓存 监控 负载均衡
万字讲解API网关的来龙去脉【珍藏】
万字讲解API网关的来龙去脉【珍藏】
3159 1
万字讲解API网关的来龙去脉【珍藏】
|
缓存 算法 搜索推荐
618省心凑背后的新算法——个性化凑单商品打包购推荐
作为购物导购链路的一个重要环节,凑单旨在快速帮助用户找到达成某个满减门槛(比如满300减50)的商品,完成性价比最高的跨店组合结算。
1325 0
618省心凑背后的新算法——个性化凑单商品打包购推荐
|
人工智能 监控 算法
【基于PaddleHub的跳绳AI计数器】智能计数器
【基于PaddleHub的跳绳AI计数器】智能计数器
763 0
【基于PaddleHub的跳绳AI计数器】智能计数器
|
Java 调度
任务调度开源框架Quartz动态添加、删除、修改任务
任务调度开源框架Quartz动态添加、删除、修改任务
任务调度开源框架Quartz动态添加、删除、修改任务
|
小程序 JavaScript
微信小程序|从零动手实现俄罗斯方块
微信小程序|从零动手实现俄罗斯方块
1264 0
微信小程序|从零动手实现俄罗斯方块
|
JSON 小程序 数据格式
微信小程序实现生成二维码功能并下载到本地
微信小程序实现生成二维码功能并下载到本地
915 0
微信小程序实现生成二维码功能并下载到本地
|
IDE 开发工具 Python
PyCharm 下载安装和汉化
PyCharm 下载安装和汉化
526 0
PyCharm 下载安装和汉化