• 前言
    所有的容器归根到底都是内存空间的排列方式和在空间上施加各种各种不同的限制所得的。空间排列方式只有线性和链式两种方式,链式是通过记录每一个数据的地址来实现查找下一位数据的。而每一个容器所具有的特性就决定了它所适用的情况,总的来看容器常用的无非是增删改查操作,下面将从适用场景、常用操作来进行总结。

  • array数组
    内存空间为连续的一段地址,适用于提前已知所要存储的数据类型和数量、进行大量的查、改操作,不适用于含有大量交换、删除、增加数据的操作,该容器无法动态改变大小,所以说提前已知存储数据类型和数量。图片介绍了数组的初始化、赋值、遍历、获取大小、获取特定位置数据的方法。

  • queue队列
    该容器内存结构最好为链式结构,最知名的特点是先进先出,能动态调整大小,适用于包含大量增、删操作的情况,但不适用于含有大量查找操作的数据。图片介绍了队列初始化、赋值、弹出操作。

  • stack 栈
    栈在内存上可为连续或者链式,于队列相反的是它为先进后出,适用于压栈出栈操作,如可用于图的遍历、递归函数的改写等,图片介绍了栈的创始化、压栈、出栈等操作。

  • list 链表
    链表在内存结构上为链式结构,也就决定它可以动态增加,适用于包含大量增加、删除的应用,但不适用于包含大量查询的操作,图片介绍了链表的创建、添加数据、删除数据、获取数据等操作。

  • map
    map为关联式容器,提供一对一服务,每个关键字在容器中只能出现一次,适用于一对一服务。

  • set 集合
    set集合最大的特点是里面的元素按序排列不重复,图片演示集合初始化、插入、删除、查找等操作。

  • vector向量
    vector向量和array不同,它可以根据数据的大小而进行自动调整,图片仅展示初始化、插入、删除等操作。

  • 总结
    这些容器在http://www.cplusplus.com/网站都有详细的介绍,看文档很容易学会它们,毕竟都把实现过程都隐藏起来了,只需要多加实践即可掌握这些容器的使用方法,多练多操作。

C++常用数据结构总结相关推荐

  1. Python 基础(6)(常用数据结构)

    https://www.toutiao.com/a6634514748694069763/ 2018-12-14 08:10:00 常用数据结构 1)元组 元组是一种静态的数据结构,无法修改,若要修改 ...

  2. iOS标准库中常用数据结构和算法之内存池

    上一篇:iOS标准库中常用数据结构和算法之位串 ⛲️内存池 内存池提供了内存的复用和持久的存储功能.设想一个场景,当你分配了一块大内存并且填写了内容,但是你又不是经常去访问这块内存.这样的内存利用率将 ...

  3. 中常用的数据结构_C语言实现常用数据结构:基本概念(第0篇

    写在前面:为什么学习C语言数据结构 今天开始,我准备和一起分享学习C语言常用数据结构,这里不求事无巨细的掌握数据结构的方方面面,而是学习编程.考试等实际中常用的重要数据结构,这里以分享可以运行的代码为 ...

  4. 【转】常用数据结构及复杂度

    常用数据结构的时间复杂度 Data Structure Add Find Delete GetByIndex Array (T[]) O(n) O(n) O(n) O(1) Linked list ( ...

  5. Python 基础常用数据结构

    2019独角兽企业重金招聘Python工程师标准>>> 常用数据结构 1)元组 元组是一种静态的数据结构,无法修改,若要修改只能重新生成新的元组. 输出结果: 元组元素的获取是通过索 ...

  6. 动图 + 源码,演示 Java 中常用数据结构执行过程及原理

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

  7. 几张动态图捋清Java常用数据结构及其设计原理

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

  8. java set第n位_数据结构与算法——常用数据结构及其Java实现

    本文采用Java语言来进行描述,帮大家好好梳理一下数据结构与算法,在工作和面试中用的上.亦即总结常见的的数据结构,以及在Java中相应的实现方法,务求理论与实践一步总结到位. 常用数据结构 数组 数组 ...

  9. 【Python基础】盘点 Python 10 大常用数据结构(上篇)

    我的施工之路 上图施工计划,已完成专题: 1我的施工计划 2数字专题 3字符串专题 4列表专题 5流程控制专题 6编程风格专题 7函数使用 8.面向对象编程(上篇) 9.面向对象编程(下篇) Pyth ...

  10. 【Python基础】盘点 Python 10 大常用数据结构(下篇)

    我的施工之路 虽然艰辛,却有读者们陪伴 Python 常用数据结构 此专题<盘点Python10大常用数据结构>目录: 学习目的 学习目标 1 list 2 tuple 3 set 4 d ...

最新文章

  1. 用Keras进行手写字体识别(MNIST数据集)
  2. MyBatis(1):MyBatis入门
  3. 如果计算机用户有密码 待机,电脑待机密码怎么设置
  4. 视图解析器中配置前缀和后缀---SpringMVC学习笔记(五)
  5. Problem C: 类的初体验(III)
  6. centos 删除crontab_centos下crontab的使用
  7. GL中的累计组、汇总帐户和帐户查询的关系
  8. PHP采集利器:Snoopy
  9. Python中直接查看对象值和使用print()输出的区别
  10. 怎样将GIS图形复制到Windows剪贴板,粘贴到Word中
  11. 贝叶斯决策中的两类错误率分析
  12. C语言PAT乙级试题答案1016
  13. 微信头像测试软件,心理测试:四个微信头像选一个,测试你的真实性格?
  14. CentOS 8 下载及安装
  15. UVA - 10105 Polynomial Coefficients
  16. linux循环显示系统时间,Linux shell时间处理大全,值得收藏
  17. 打怪游戏(进度29%)
  18. Spring Boot学习案例开源项目
  19. rk3288 添加系统广播
  20. (1)1999~2021 年中国城市统计年鉴面板数据(含地级市面板、县级市面板和主要指标)(2)香港统计年刊(3)第一到第七次的人口普查数据(4)全国省市县-五六七普人口数据(5)国际统计年鉴

热门文章

  1. Win10安装Linux子系统WSL(ubuntu2204)及图形桌面xfce4
  2. Android 三方登录 - QQ登录
  3. 项目管理电子书_Scrum实战:敏捷软件项目管理与开发【电子书】 附下载地址
  4. 家具建材行业B2B电商平台解决方案
  5. editable组件_表格行内编辑事件
  6. 自动控制matlab实验,自动控制原理MATLAB实验报告.doc
  7. oracle 列转行 带逗号_oracle wm_concat 列转行 逗号分隔
  8. 计算机组装小白,电脑组装后如何安装系统图文教程
  9. PHY6252国产低功耗蓝牙5.2 SoC芯片智能手环/智能家居方案替代NRF52810
  10. 【LeetCode 5-中等】最长回文子串(高清截图)