如果您阅读附加的复杂性承诺,它会显示:
Complexity: Amortized O(1) over many additions. If the array uses a brIDged NSArray instance as its storage,the efficIEncy is unspecifIEd.
“通过多次添加分摊O(1)”意味着对于任何给定的 *** 作,它可能不是O(1),但是元素数量朝向无穷大的限制是O(1),因为越来越大的预分配将是制作,所以重新分配将变得越来越少.
现在阅读removeLast()的复杂性承诺:
Complexity: O(1)
没有重新分配隐藏在那里(或者至少它无法实现“通过复制到一个新的较小的数组”).
(*)这是一个很难的例外.阵列上的任何突变都可能存在写入时的拷贝.这意味着任何突变,无论其性能承诺如何,如果与另一个阵列共享存储,则可能变为O(n).这使得关于Swift性能的推理非常具有挑战性,但并不是特定于这个问题.
总结以上是内存溢出为你收集整理的数组 – “removeLast”会在swift中减少数组的容量吗?全部内容,希望文章能够帮你解决数组 – “removeLast”会在swift中减少数组的容量吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)