LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Если нужен доступ по индексу, и надо учесть возможность работы с большими массивами и замену данных на дырки и обратно, я бы сделал индексное btree (в каждой ноде храним количество не-null элементов под ней) примерно так же как твой вспомогательный массив индексов, но чуть гибче.

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

Других эффективных вариантов скорее всего нет.

Исходная версия firkax, :

Если нужен доступ по индексу, и надо учесть возможность работы с большими массивами и замену данных на дырки и обратно, я бы сделал индексное btree (в каждой ноде храним количество не-null элементов под ней) примерно так же как твой вспомогательный массив индексов, но чуть гибче.

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