c++向量和数组的区别 您所在的位置:网站首页 数列数组区别是什么 c++向量和数组的区别

c++向量和数组的区别

2023-11-18 13:56| 来源: 网络整理| 查看: 265

b8f74d3a6e794f33406e4900f2247a1b.png

前文传送门:

一本正经的聊数据结构(1):时间复杂度

引言

这个系列没有死,我还在更新。

最近事情太多了,这篇文章也是断断续续写了好几天才凑完。

上一篇我们介绍了一个基础概念「时间复杂度」,这篇我们来看第一个真正意义上的数据结构「数组」。

那为什么题目中还会有一个向量呢?这个是什么东西?

不要急,且听我慢慢道来。

内存

在聊数组之前,需要先了解一个硬件,这个就是我们电脑上内存。

先了解一下内存的物理构造,一般内存的外形都长这样:

0bed68d5f370bef9f8f91173500941ac.png

上面那一个一个的小黑块就是内存颗粒,我们的数据就是存放在那个内存颗粒里面的。

每一个内存颗粒叫做一个 chip 。每个 chip 内部,是由 8 个 bank 组成的。大致长这样(灵魂画手挖掘机老师开始上线):

ce5c2355f23a1ddebd826f580a34946d.png

而每一个 bank 是一个二维平面上的矩阵,矩阵中每一个元素中都是保存了 1 个字节,也就是 8 个 bit ,比如这样:

81a9be3670dbac2a660902424e49d04f.png

所以准确的来讲,我们的数据就是放在那一个一个的元素中的。

数组

在 C 、C++ 、Java ,都将数组作为一个基础的数据类型内置。

很可惜,在 Python 中未将数组作为一个基础的数据类型,虽然 Python 中的 list 和数组很像,但是我更愿意叫它列表,而不是数组。

那么数组究竟是啥呢,我这里借用下邓俊辉老师「数据结构」中的定义ÿ



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有