2013-04-22 175 views
0

使用MIPS ISA的MARS仿真器通过MIDI文件看完后,我试图以这种存储将在每个事件的回放来读取一个数组列表解码事件。 由于容纳数据结构是数组列表,它必须能够动态地收缩和生长。Arraylists的动态内存分配?

以我方案中,每个事件将被存储在一个阵列两个单词。这意味着每次我将一个元素添加到数组列表中时,列表必须增加8个字节。

我的问题是如何动态地为一个数组,我不分配时知道的大小分配足够的内存?那么我将如何通过这个创建的列表?

回答

1

要么在程序的开始时分配的最大可能大小,用于从堆阵列,或使用不同的数据结构,诸如链表,可以零碎进行分配。

+0

我不希望我只是要分配的最大空间。它似乎有点原始!我想我不应该在组装层面期待更多。 – 2013-04-23 00:01:56