然后在空出的位置上写
的方式类似。我们需要将值和向右移动一位为新元素腾出空间。入一个新值。不要忘记将加一。此操作的计算复杂度为其中是动态数组的物理大小。更改动态数组的物理大小只要有可用空间使用动态数组是可以理解的。但是当数组中的所有单元格都已满并且我们需要添加新元素时该怎么办其思想是为新元素分配一小块内存区域并向该区域写。入一个值然而重要的是该区域是连续的。一般来说连续的内存分配不能总是得到保证 WhatsApp 号码数据 因为其他进程可能占用相邻的单元。为了解决这个问题使用了一种更复杂但可靠的方法。我们为新的静态数组分配内存该数组的大小是原始数组的两倍或三倍通常是大小的两倍。旧数组中的值被复制到新数组中然后写入新值并递增。此操作的算法复杂度为其中是动态数组的物理大小。
http://zh-cn.textservices.co.uk/wp-content/uploads/2023/11/bappy.jpg
如果所有新元素也被填充则重复将数组大小加倍的过程。这就是动态元素数组的工作原理。更改动态数组的物理大小更改动态数组的物理大小可能会出现这样的问题为什么在为数组分配新内存时其大小会增加数倍而不仅仅是增加一个元素或所需的元素数量。答案是非常合乎逻辑的。如果当前数组中的空间不足则新数组中也可能没有足够的空间。
頁:
[1]