代码与动画 ARRAY
数组.
按连续下标读取数据,插入和删除时移动后续元素。
下标访问 O(1)插入 / 删除 O(n)演示容量 8
原理与执行逻辑
数组按下标组织元素,直接读取指定位置。插入或删除会改变后续元素的逻辑下标,因此需要移动这些元素保持连续排列。
执行步骤
- 读取时先确认下标有效,再返回该位置元素。
- 插入时从后向前移动目标位置后的元素,腾出空位。
- 将新值写入空位,增加有效长度。
- 删除时移除目标值,将后续元素向前移动并减少长度。
关键理解
插入向后移动时必须从尾部开始,避免覆盖尚未搬走的值。Demo 展示逻辑位置与移动,不表示 JavaScript 引擎的物理内存布局。
简短示例
[12, 25, 38] 在下标 1 插入 18,先将 38、25 向后移动,得到 [12, 18, 25, 38]。
代码与执行动画
STEP 0 / 0const arr = [12, 25, 38, 50];length = 4下标从 0 开始
当前数据正在操作已访问 / 命中标记 / 指针
0
当前结构
选择操作,观察对应代码和状态变化。
操作当前结构
下一次操作使用上次完成后的数据。重置结构恢复初始示例。
数组的操作规则
展示按下标访问和元素移动的逻辑模型。JavaScript Array 的底层内存布局由引擎决定,图中不表示物理内存地址。
对应题目与扩展练习
观察执行过程后,按题目约束调整输入、返回值与实现。链接打开官方题目页面。
- 对应题目27. 移除元素打开题目
练习数组下标、原地删除与有效长度。