前言

所有的容器归根到底都是内存空间的排列方式和在空间上施加各种各种不同的限制所得的。

空间排列方式只有线性和链式两种方式,链式是通过记录每一个数据的地址来实现查找下一位数据的。而每一个容器所具有的特性就决定了它所适用的情况,总的来看容器常用的无非是增删改查操作,下面将从适用场景、常用操作来进行总结。

array数组

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

queue队列

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

stack 栈

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

list 链表

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

map

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

set 集合

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

vector向量

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

实际应用时,还有很多变通。到时候再搜吧

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

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

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

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

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

  3. 数据结构入门(一级)

    数据结构和算法的入门:在这里我们先回答大家三个问题1. 为什么要学习数据结构2. 有哪些数据结构3. 学习数据结构的四种境界知道了这三个问题之后呢,再来进行具体内容的一个学习,先看第一个,为什么要学些 ...

  4. c语言将一个已知头结点的单链表逆序_C语言实现常用数据结构:静态链表数组实现(第5篇)...

    「今天是学习C语言第 148 天」 纸上学来终觉浅,绝知此事要躬行.-- 陆游「冬夜读书示子聿」 # 静态链表 使用数组实现,利用数组下标代替指针,从而实现数据结点之间的先后关系.实现要点: 1.数组 ...

  5. 数据结构入门最佳书籍_最佳数据科学书籍

    数据结构入门最佳书籍 Introduction 介绍 I get asked a lot what resources I recommend for people who want to start ...

  6. python有必要看数据结构_盘点 Python 10 大常用数据结构(上篇)

    我的施工计划,已完成专题: Python 常用数据结构 学习目的 这个专题,尽量使用最精简的文字,借助典型案例盘点Python常用的数据结构. 如果你还处于Python入门阶段,通常只需掌握list. ...

  7. aes算法c语言实现_C语言实现常用数据结构:Dijkstra最短路径算法(第18篇)

    「今天是学习C语言第 161 天」 纸上学来终觉浅,绝知此事要躬行.-- 陆游「冬夜读书示子聿」#题外话算法学习重点是学习如何编程使用它. # Dijkstra算法 Dijkstra算法,中文译名迪杰 ...

  8. Java数据结构(1.1):数据结构入门+线性表、算法时间复杂度与空间复杂度、线性表、顺序表、单双链表实现、Java线性表、栈、队列、Java栈与队列。

    数据结构与算法入门 问题1:为什么要学习数据结构          如果说学习语文的最终目的是写小说的话,那么能不能在识字.组词.造句后就直接写小说了,肯定是不行的, 中间还有一个必经的阶段:就是写作 ...

  9. 数据结构入门(8) ——查找

    数据结构入门 --查找 文章目录 数据结构入门 --查找 前言 一.线性表查找 顺序查找 有序表的二分查找 对半(折半)查找 二叉判定树 对半查找总结 一致对半查找 斐波那契查找 插值查找 二.查找树 ...

最新文章

  1. 《新程序员003》正式上市!华为、阿里等 30+ 公司的云原生及数字化实战经验...
  2. mysql1040_mysql Error 1040 too many connection解决办法
  3. 河南省计算机大学应用水平考试,河南省大学计算机等级考试选择题(文管二级)...
  4. list_for_each()与list_for_each_safe()
  5. shell sqlplus执行sql文_如何通过 Shell 监控异常等待事件和活跃会话
  6. git 安装包_Git、TortoiseGit的安装、使用说明
  7. 前端学习(2567):指令的本质
  8. 密码机 密钥管理项目安装配置 从零开始
  9. 可太惨了吧!乐视网临时股东大会仅两位董事会成员出席,6分钟内结束
  10. 基于JAVA+SpringMVC+Mybatis+MYSQL的医院HR人事管理系统
  11. 『004』索引-Python
  12. SQL经典练习题及答案
  13. 模拟人生java电脑版_模拟人生免费版电脑版
  14. 【转】找工时间线和心得
  15. 最全的人力资源行业精美报表模板,免费下载啦
  16. shopify 与国内第三方建站服务平台的比较(店匠、shopline、shopyy、ueeshop)
  17. glib linux,如何升级glib呢?
  18. 你了解国际版的阿里云吗?
  19. ios系统软件迁移到安卓_苹果一键换机到安卓(苹果安卓一键迁移的软件)
  20. java double 排序_转载:qsort细节用法,double型的排序我竟然一直用错了~~~

热门文章

  1. html class css,div id class
  2. python batch normalization_Batch Normalization 引出的一系列问题
  3. openssh windows_WINDOWS环境配置SSH服务
  4. OpenMV中AprilTag识别Python程序源码
  5. mysql distinct多个字段_深入浅出Mysql索引的那些事儿
  6. 安全研究 | Jenkins 任意文件读取漏洞分析
  7. sharepoint模拟用户
  8. caffe---ubuntu1604下anaconda2.5的尝试----失败,建议使用系统的python系统,避免各种各样的陷阱...
  9. 记一次网易前端实习面试
  10. javascript跳跃式前进(3) - 跳入JSON