
上QQ阅读APP看书,第一时间看更新
2-4 删除数组元素
在删除某一数组元素时,需要将所删除元素后面的元素往前移动,移回空的内存空间,让数组保持在连续空间。假设有一个数组的内存空间如下所示:

假设现在想要移除x[1]的元素2,数组处理步骤如下:
步骤1
删除x[1]的元素2,此时内存内容如下所示:

步骤2
将所删除元素后面的元素往前移动,将原x[2]元素3移至前面x[1]索引位置。

步骤3
将原x[3]元素9移至前面x[2]索引位置。

经过以上步骤就可以删除数组的某个元素,由于删除某个元素后,要将所有后面的元素往前移动,所以时间复杂度是O(n)。