NSMutableArray
要素が配列の末尾に追加/削除されたときに O(n) ではなく O(1) のパフォーマンスを持つどこかを読んだことがあります (例: removeAtObject:0
or removeLastObject
)。これにより、スタックまたはキューとしての使用に適しています – 必要性を否定しますこれらのコンテナー タイプの LinkedList 実装を作成します。
本当にそうですか?もしそうなら、Apple はどのようにしてこれを実現したのでしょうか? NSMutableArray
そうでない場合、配列内の要素の数が増加するにつれて、インスタンスの両端で要素を追加/削除するのにかかる時間が増加することを示す証拠はありますか?
PS:NSMutableArray
は本質的にCFArray
("pure-C" に対応する) であり、ソース コードCFArray
は openであるため、内部の動作を検査できるはずです。