gpt4 book ai didi

ruby 数组内部结构

转载 作者:数据小太阳 更新时间:2023-10-29 06:41:19 26 4
gpt4 key购买 nike

ruby 数组是如何在内部实现的(主要是在 CRuby 中,但欢迎任何其他信息)?

它们是像 C++ 向量那样可增长的数组还是基于列表? shift/unshift 和按索引访问元素的复杂性如何?

最佳答案

它们是“在最后增长”的可增长数组。

shiftO(1)unshiftO(n) 并且通过索引访问是 O(1)。据我所知,这适用于所有 ruby​​ 实现,但它绝对适用于 MRI。

更新:最初写完这个答案后,Ruby 是 enhanced使 unshift 摊销 O(1)。增强数组在Ruby 2.0.0之后,shiftunshiftpushpop 都是 O(1) 或摊销 O(1)

关于ruby 数组内部结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com