Так вопрос не к вставке, а к дополнительному циклу с вытаскиванием элементов.
Мы же можем из исходного массива повставлять элементы в кучу, и после наполнения кучи перебросить ссылку нашего массива на массив кучи, выполнив таким образом n операций, а не 2n