ルビー配列の内部



Ruby Array Internals



解決:

それらは「最後に成長する」成長可能な配列です。

シフトはO(1)、アンシフトはO(n)およびインデックスによるアクセスはO(1)。私の知る限り、これはすべてのルビーの実装に当てはまりますが、MRIでは間違いなく当てはまります。



更新:この回答が最初に書かれた後、Rubyは次のように拡張されましたアンシフト償却O(1)。拡張配列はRuby2.0.0以降であり、シフト、シフト解除、プッシュ、そしてすべてポップO(1)または償却または(1)。