Динамическое распределение памяти для Arraylists?
После чтения миди-файла с использованием MIPS ISA на эмуляторе MARS я пытаюсь сохранить декодированные события в списке массивов, которые будут считываться при воспроизведении каждого события. Поскольку структура данных содержимого является списком массивов, она должна иметь возможность динамически уменьшаться и увеличиваться.
В моей схеме каждое событие будет храниться в виде двух слов в массиве. Это означает, что каждый раз, когда я добавляю элемент в список массивов, список должен увеличиваться на 8 байт.
У меня вопрос, как мне динамически выделить достаточно памяти для массива, размер которого я не знаю во время выделения? Как мне тогда пройти этот созданный список?
1 ответ
Либо выделите максимально возможный размер для массива из кучи в начале вашей программы, либо используйте другую структуру данных, например, связанный список, который можно распределить по частям.