на работе 64битный линакс, так что не думаю, что тут проблемы возникнут. специально етестировал -- по крайней мере с гигабайтными проблем не возникло.
Дядя Миша
ну вот, посидел я, порисовал, понял что старую копию хранить не надо, достаточно записать смещение -- вот что получилось http://ompldr.org/vYTlxMQ/structura.png
Массивы I,E,A состоят из Np векторов, при этом далеко не все они несут информацию. Эти самые, несущие информацию вектора могут уничтожаться, переходить между I-E-A (достаточно редко), и переходить, между соседними массивами, например из I_1 в I_2 (это происходит очень часто).
теперь вопрос -- как лучше всего описать какие вектора информативные, а какие мусор (что бы не обходить каждый раз субмассивы) и как быстрее всего записать алгоритм копирования вектора в первое незанятое место другой ячейки? пока на ум приходит только завести в в служебном векторе двоичное число [111010...1], где 0 -- вакантное место, 1 -- занятое...