NSMutableArray
当从数组的末端添加/删除元素(例如removeAtObject:0
or )时,我已经读过某处将具有 O(1) 性能而不是 O(n),removeLastObject
这使得它适合用作堆栈或队列 - 否定了需要为这些容器类型创建 LinkedList 实现。
真的是这样吗?如果是这样,Apple 是如何做到这一点的?如果不是,是否有任何证据表明在任一端添加/删除元素所花费的时间NSMutableArray
实例的任一端添加/删除元素所需的时间会随着数组中元素数量的增加而增加?
PS:由于NSMutableArray
本质上是CFArray
(它是“纯C”对应物),并且源代码CFArray
是 open,因此应该可以检查其内部工作原理。