c++ STL容器总结:vector、list、deque、queue、stack、set、map

c++STL中的容器会自动申请和释放内存,无需使用new、delete,一共有7种:

1、vector: 

类似数组,存储在一段连续的内存数组上,超出capacity后需要开辟一段新的更大的空间,把原来的数据拷贝过来,插入删除可能使iterator失效;

可以快速地随机访问

2、deque双端队列: 

类似数组,动态的以分段连续的空间组合而成,随时能增加一段新的空间并链接起来;

可以快速地在头尾插入删除数据

3、list双向链表:

内存空间是不连续的,链接而成;

可以快速地在任何位置插入删除数据

4、queue队列:

没有迭代器,不能遍历;

先进先出

5、stack堆栈:

没有迭代器,不能遍历;

先进后出

6、set集合:

以二叉排序树的形式存储元素,set中的元素在插入删除时就会自动排序;

查找的速度很快O(lgn);

不能同时存在两个相同的元素;

7、map字典:

以二叉排序树的形式存储元素,map中的元素在插入删除时就会自动排序(以key作为排序依据);

查找的速度很快O(lgn);

不能同时存在两个具有相同key的元素;

一、初始化


二、赋值


三、迭代器(stack、queue没有迭代器)


四、元素访问


五、插入删除元素


六、其它操作


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值