Метод вставки
Другой метод — метод вставки состоит в том, что поочередно выбираемые элементы сортируемого файла заносятся в «как бы» рассортированный файл, причем элемент, выбранный первым, помещается в середину рассортированного файла. Путем перемещения больших элементов вниз или меньших вверх на одну позицию каждый вновь выбранный элемент вставляют в соответствующее ему место среди ранее выбранных элементов.
Наиболее быстрой является сортировка, основанная на непосредственном вычислении с помощью соответствующего алгоритма места рассматриваемого элемента в рассортированном файле. Примерами такого подхода являются методы хеширования, обсуждавшиеся в разд. 5.4.6, 5.4.7 и 9.3. Эти методы можно использовать только в случаях размещения данных в основной памяти или на устройствах прямого доступа. Главный недостаток этих методов заключается в том, что эффективность алгоритма очень сильно зависит от характера распределения ключей, и поэтому он должен выбираться применительно к каждому конкретному случаю, а не является общим. Программы сортировки, поставляемые изготовителями машин, должны быть эффективными для различных типов распределения ключей данных. В связи с этим такие методы используются только специализированными подпрограммами сортировки.