Копирование является лучшим решением и действительно единственным решением, когда вы удаляете элементы из массива. (Вы можете использовать специальный элемент в конце массива, но это все.) Я не понимаю, почему это так ужасно.
Вам нужно сделать одну из двух вещей. Оба включают некоторое копирование.
1) Скопируйте 'n' туда, где находится 'E', 'r' - туда, где находится 'n', 'i' - там, где находится 'r', а затем обнулите его. *
2) Скопируйте «h» туда, где находится «E», а затем всегда используйте указатель на новое местоположение «h». Это не всегда возможно.