数组

92 阅读1分钟

数组概念:

数组:数组用一组连续的内存空间,来存储一组具有相同类型的数据。

Array: An array is a collection of same data elements stored at contiguous memory locations.

理解概念用自己的话表述出来:

数组是一个有序集合且数组只能保存同一种类型的数据,在内存中的分布是连续的。

问题

随机访问数组元素:

为什么说我们访问数组的元素快呢,数组在内存中的分布形式是连续的内存地址,我们访问这个数组的元素通过下标直接访问,内部的实现为 CPU 的跳转指令,我们只需要通过知道数组的首元素地址+ 偏移量就可以直接访问到数组中元素,只需要一步,时间复杂度为 O(1): 如下图所示

添加与删除数组元素

image_Rem7EWqevM.png

array_delete

添加元素会将当前索引及之后的元素后移,时间复杂度也是O(N)。如下图所示:

image_tG6adiXNDq.png