任何人都可以告訴我,如果一個鏈表結構將被允許增長大於等效List(假設列表使用加倍策略來增加內部數組的大小) 。LinkedList內存消耗與使用大型數組時的列表
因此給定一個結構,比如說40字節(我知道關於16字節和結構的東西,但我在這裏使用一些遺留代碼,它不會是一個簡單的選項,將結構更改爲類)我的理解是每次列表的內部數組被調整大小時,都需要爲新數組分配內存(new_array_size * 40)。因此,對於一個非常大的陣列,最終會導致內存不足,因爲沒有足夠大的連續空間來創建這個新陣列。我知道鏈表需要爲每個元素(節點)留出更多的空間,因爲它需要保持向前和反向指向列表中的項的指針,但是我的問題是這是否意味着要添加額外的元素,您只需要一個連續的內存插槽(40 + the_space_needed_for_the_pointers)。換句話說,鏈表不會因分配一個巨大的連續內存的新部分而受到影響。
感謝您的回覆。我幾次閱讀了Scott Mitchell關於數據結構的文章,我相信我會回頭再看一遍。我目前的問題並不需要除了能夠遍歷列表之外的任何事情。 – Andrew 2010-05-07 12:16:26