2013-04-22 106 views
0

使用MIPS ISA的MARS仿真器通過MIDI文件看完後,我試圖以這種存儲將在每個事件的回放來讀取一個數組列表解碼事件。 由於容納數據結構是數組列表,它必須能夠動態地收縮和生長。Arraylists的動態內存分配?

以我方案中,每個事件將被存儲在一個陣列兩個單詞。這意味着每次我將一個元素添加到數組列表中時,列表必須增加8個字節。

我的問題是如何動態地爲一個數組,我不分配時知道的大小分配足夠的內存?那麼我將如何通過這個創建的列表?

回答

1

要麼在程序的開始時分配的最大可能大小,用於從堆陣列,或使用不同的數據結構,諸如鏈表,可以零碎進行分配。

+0

我不希望我只是要分配的最大空間。它似乎有點原始!我想我不應該在組裝層面期待更多。 – 2013-04-23 00:01:56