По теме, но не совсем ответ:
Вставка и удаление не являются приложением, которое применимо к массивам. Это выходит за рамки «Оптимизация» и в плохое программирование.
Если это будет скрыто в нижней части структуры вызова, и кто-то вызовет его повторно, вы можете получить серьезный удар по производительности. В одном случае я изменил сортировку вставки массива, чтобы просто использовать связанный список, и он изменил время выполнения с 10 + часов (заблокировал компьютер) до секунд / минут).
Он заполнял список IP-адресами. Разработанный и протестированный в адресном пространстве класса c, он работал нормально, но у нас были требования работать с адресным пространством класса b без сбоев (это может занять некоторое время, но не часы). Нам было поручено минимально возможный рефакторинг, чтобы он не потерпел неудачу.
Не думайте, что вы знаете, как будет использоваться ваш хак.