关于c++顺序容器小结(一)---概述

最近又再啃c++11primer,不停一遍又一遍啃也不是办法,就总结一下。
什么是顺序容器:所谓容器就一些特定数据类型对象的集合,就像家里装东西的箱子一样吧它们装在一起便于管理。而顺序容器就是提供控制元素的存储和访问顺序,通俗的说就是可以按照顺序把东西放到箱子里,而取的时候也可以按照顺序去拿。
顺序容器的种类: vector(可变数组),deque(双端队列支持[]运算符),list(双向链表不支持[]运算符),forward_list(单向链表不支持[]运算符),string(保存字符的可变数组支持[]运算符),array(固定大小数组支持[]运算符)。他们都定义在自己的头文件中。
基本特性:
vector:支持[]运算符,在尾部之外的位置插入删除操作效率低;
deque:支持[]运算符,在头尾位置操作都很快;
list:不支持[]运算符,在任意位置操作都快;
forward_list:只支持单项顺序访问,在任意位置操作都快;
array:支持[]运算符,不能添加火删除元素;
string:支持[]运算符,在尾部操作快;
选择容器的基本原则:
*一般用vector,除非有特殊用意;
*如果元素很小,且额外开销很重要,则不用list火forward_list;
*需要随机访问就用vector或deque;
*如果要在容器中间插入或删除应使用list或forward_list;
*如果只在容器头尾添加或删除应用deque;
*如果只有在读取输入时才需要在容器中间插入元素,随后需要随机访问元素,现在vector中添加然后调用sort函数从而避免在中间位置添加元素;如果 必须在中间插入则可先输入到list中然后在拷贝到vector中;
总之,容器的选择视程序的操作而定,占主导的操作决定了容器的选择;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值