基础理论
数组是C++中基础的数据结构,在许多场景下都有使用,例如vector的底层实现就是数组。数组的定义是存放在连续空间内的相同类型元素的集合,因此可以方便的通过下标的方式进行索引。一般情况下,数组的下标是从0开始的。如下图所示:
因为数组元素的连续存储,所以插入和删除的需要移动大量的元素。数组中的元素不能被删除,只能被覆盖,就是将删除元素后面的元素往前移动,覆盖原来的数据,达到删除的目的,插入也类似,需要移动大量的元素,所以时间复杂度都为O(n)。另外需要注意的是,在C++中二维数组的存放形式也是连续的。感兴趣可以通过代码进行验证。