2012-02-20 108 views

回答

0

第二個 - 創建一個新數組並複製舊數組。如果你想避免複製,那麼你可以使用LinkedList來代替,它只是增加鏈接的鏈接;但是當然你不會得到單個元素數組提供的快速索引。

+0

我以爲鏈表使用鏈接節點? – 2012-02-20 23:26:00

+0

這就是我所說的'LinkedList'使用鏈接節點鏈,而'ArrayList'使用數組。 – 2012-02-21 01:53:56

1

如果您指定了您感興趣的語言,那麼您可能會得到更好的答案(即,更具針對性,對您更有用)。許多常見實現使用一組值(包括指針,如果是數組指針);當塊中的空間用完時,分配一個較大的塊,將現有值向前複製到新空間,並釋放舊空間。有時你可能會對這種情況有所影響(例如,與舊的相比,新空間有多大),但是(當然)它依賴於實現。大多數實現都在確保每次添加或刪除一個不會重新分配空間的項目。這意味着在這種實現中存在未使用的空間。

再一次,如果您有更具體的興趣,建議您嘗試編輯您的帖子來集中它一下。

如果你只是想學習,我會建議玩Python。 StackOverflow上的許多內容您可能會感興趣;這裏只是一對夫婦:array size,performance