数组理论知识

数组理论知识

数组是存放在连续内存空间上的相同数据类型的集合。

注意

  • 数组下表都是从0开始的。
  • 数组内存空间的地址是连续的

正是因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址

例如删除下表为3的元素,需要对下表为3的元素后面的所有元素都要做移动操作,

image-20210306131633754

时间复杂度为O(n),所以数组不适合做频繁的增删操作 ,这一点在以后解题选择容器的时候中也是非常重要的。

至于二维数组,直接上图,大家应该就知道怎么回事了,图中a[][]表示的就是二维数组

图片

二维数组其实就是一个矩阵

那么二维数组在内存的空间地址是连续的么?

我们来举一个例子,例如: int[][] rating = new int[3][4]; , 这个二维数据在内存空间可不是一个 3*4 的连续地址空间

如图所示:

二位数组中其实是一个线性数组存放着 其他数组的首地址。

图片

所以二维数据在内存中不是 3\*4 的连续地址空间,而是四条连续的地址空间组成!

很多同学会以为二维数组在内存中是一片连续的地址,其实并不是。

posted @ 2021-03-06 20:25  胡木杨  阅读(217)  评论(0)    收藏  举报