Динамическое распределение памяти для Arraylists?

После чтения миди-файла с использованием MIPS ISA на эмуляторе MARS я пытаюсь сохранить декодированные события в списке массивов, которые будут считываться при воспроизведении каждого события. Поскольку структура данных содержимого является списком массивов, она должна иметь возможность динамически уменьшаться и увеличиваться.

В моей схеме каждое событие будет храниться в виде двух слов в массиве. Это означает, что каждый раз, когда я добавляю элемент в список массивов, список должен увеличиваться на 8 байт.

У меня вопрос, как мне динамически выделить достаточно памяти для массива, размер которого я не знаю во время выделения? Как мне тогда пройти этот созданный список?

1 ответ

Решение

Либо выделите максимально возможный размер для массива из кучи в начале вашей программы, либо используйте другую структуру данных, например, связанный список, который можно распределить по частям.

Другие вопросы по тегам