自学内容网 自学内容网

STL体系结构与各容器基本介绍

STL体系结构

六大模块

  • 容器
  • 算法
  • 迭代器
  • 适配器
  • 仿函数
  • 分配器

基本容器

序列式

  • array c++11新标准array<类型,大小> a;大小固定
  • vector 扩容以两倍增长,找到两倍大空闲内存,将自己挪到新内存
  • list 双向链表有自己的sort,比用算法sort更快
  • forward_list c++11新标准 单向链表,只有push_front,效率更高 同gnu slist
  • deque 双端队列 分段连续,每次扩充一段
    在这里插入图片描述
  • stack,queue 借用deque,是容器适配器

关联式(查找更快)

  • multiset key就是value,key可重复,底层实现是红黑树,有自己的find()函数
  • multimap key,value对,insert时需要自己构建pair,红黑树实现不可用[]
  • unordered_multiset 可重复,底层实现是哈希表元素个数大于等于篮子个数,就需要扩充,变为二倍
  • unoredered_multimap key可重复 哈希表实现
  • set 不可重复,红黑树
  • map key不可重复 哈希表 可用[]c[i]
  • unoredered_set 可重复,哈希表
  • unoredered_map 可重复,哈希表

其他(不常用)

  • heap
  • priority_queue

使用分配器

一般用默认的,但是可以自己包含头文件使用


原文地址:https://blog.csdn.net/2301_81198610/article/details/137795370

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!