C++底层数据结构的实现原理

发布时间:2021-09-17 20:59:27

转载自:http://www.cnblogs.com/hustlijian/p/3611424.html
C++ STL 的实现:


1.vector 底层数据结构为数组 ,支持快速随机访问


2.list 底层数据结构为双向链表,支持快速增删


3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问


deque是一个双端队列(double-ended queue),也是在堆中保存内容的.它的保存形式如下:
[堆1] --> [堆2] -->[堆3] --> ...
每个堆保存好几个元素,然后堆和堆之间有指针指向,看起来像是list和vector的结合品.

4.stack 底层一般用list或deque实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时


5.queue 底层一般用list或deque实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时


(stack和queue其实是适配器,而不叫容器,因为是对容器的再封装)


6.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来管理底层容器实现


7.set 底层数据结构为红黑树,有序,不重复


8.multiset 底层数据结构为红黑树,有序,可重复


9.map 底层数据结构为红黑树,有序,不重复


10.multimap 底层数据结构为红黑树,有序,可重复


11.hash_set 底层数据结构为hash表,无序,不重复


12.hash_multiset 底层数据结构为hash表,无序,可重复


13.hash_map 底层数据结构为hash表,无序,不重复


14.hash_multimap 底层数据结构为hash表,无序,可重复

相关文档

  • 梦(转贴)
  • 吹空调吹的浑身没劲
  • 关于工具公司的暑期社会实践报告
  • linux 中文件系统的扩展属性
  • iOS MVVM设计模式
  • 寄神十航天员的一封信
  • My SQL事务控制语言(TCL)
  • 中秋作文1000字
  • 王者荣耀娜可露露怎么玩
  • 最新教师节感恩老师的祝福语
  • 《不一样的卡梅拉》读后感
  • 企业班长培训心得感想
  • android7.0 字体,讯飞输入法全新发布Android 7.0版
  • 三星s8支持e-SIM吧
  • 四字成语行书书法_四字行书书法欣赏
  • 八卦掌与养生保健的关系
  • 走进狂人毕加索阅读练习及答案
  • 10以内的分解与组成怎么教_【数学课堂】如何教10以内的分解,用10个小木棒就可以啦!...
  • 地理学习方法总结精选3篇
  • 妈妈是最美丽的
  • 2020年广西柳州市融水苗族自治县乡镇卫生院用编人员招聘简章30人
  • 学校2020年3月5日学习雷锋精神的国旗下讲话稿范文精选
  • 伤心流泪的失恋个性签名大全
  • 去985高校当老师需要什么条件?
  • 猜脑筋急转弯的好处
  • 三明为什么叫三明
  • 楚留香的人物介绍
  • 魔兽争霸十波兵怎么把镜头拉远
  • 树莓的种植技术技巧有哪些
  • 如何给长毛阿拉斯加剪毛
  • 猜你喜欢

  • 美国在研究型大学创立国家实验室的启示
  • 关于街道办的工作半年总结
  • kernel:NMI watchdog: BUG: soft lockup - CPU#6 stuck for 28s! CentOS7linux中内核被锁死
  • 2018-2019-“笑星”250字作文-word范文模板 (1页)
  • 如何做到扎实的Java基础?【转载】
  • 高考议论文指导第三课 议论文中材料运用的基本方式
  • 【精编范文】小学英语教学反思例文-优秀word范文 (8页)
  • 大足县龙水养鸡专业合作社(企业信用报告)- 天眼查
  • 硕士研究生学位申请流程
  • 上半年银行柜台人员年终述职报告范文
  • xx年新学期网路技术部工作计划
  • 高考历史(通史版)课件:第六部分 专题十五 第2课时 20世纪60—80年代的世界
  • 浙江省2011年7月自学考试网站建设与网页设计试题
  • 生产现场常见浪费形式及三种识别方法
  • 广州苏瓯宁电器科技有限公司企业信用报告-天眼查
  • 骑砍自立后怎么结婚
  • 四年级数学教学随笔1
  • 医疗互联网现状与发展趋势培训
  • 江苏专用届高考历史一轮复*第十五单元*代中国的思想解放潮流第32讲新文化运动与马克思主义在中国的传播课
  • 【2019年整理】竞彩店基础知识培训课件
  • 精编最新北师大2015版五年级下册第二单元课件:07《练*二》
  • 消防安全知识培训资料(新版)23650
  • JAVA实现石头剪刀布游戏,可控制胜率,源码
  • 燃气内燃机与燃气轮机冷热电联产系统的比较讲解
  • 2017加强冬季学生安全管理致家长的一封信
  • 2019高一寒假化学:金属及其化合物选择题解析四精品教育.doc
  • 国外读研冬季养生食疗
  • 跌倒危险因霜拦懒勘悫2013.10最新修改) (1)
  • 四年级叙事作文:爱的晚餐_500字
  • 标题-2017-2018学年高中化学三维设吉?兆ò嫜⌒薜:课时跟踪检测(二) 科学家怎样研究有机物
  • 2018年环境保护局科技监测处201X年工作总结[1]-word范文 (3页)
  • 健美操ppt课件模板
  • 会计学学什么课程自学难不难
  • 2018-2019新课标人教版七年级下册数学《10.2 直方图》*题1ppt课件
  • 名著红楼梦读后感_750字
  • 朋友圈心灵鸡汤大全集2018:就算全世界都否定我,还有我自己相信我
  • 成功人士拥有的七个好习惯
  • 2019第四课 友谊与成长同行 第2课时 深深浅浅话友谊教育精品.ppt
  • Javascript数组知识点总结
  • 大学生大四学生入党申请书格式2000字
  • 项目月度支出计划表-规程附件2.4
  • 各国抗癌蔬菜排行榜
  • 电脑版