Сортировка вставками (простыми включениями)
Сортировка вставками (англ. insertion sort) — простой алгоритм сортировки. Хотя этот метод сортировки намного менее эффективен чем более сложные алгоритмы (такие как быстрая сортировка), у него есть ряд преимуществ:
- прост в реализации
- эффективен на небольших наборах данных
- эффективен на наборах данных, которые уже частично отсортированы
- это устойчивый алгоритм сортировки (не меняет порядок элементов, которые уже отсортированы)
- может сортировать список по мере его получения
На каждом шаге алгоритма, мы выбираем один из элементов входных данных и вставляем его на нужную позицию в уже отсортированном списке, до тех пор пока набор входных данных не будет исчерпан. Выбор очередного элемента, выбираемого из исходного массива — произволен, может использоваться практически любой алгоритм выбора.
Реализация на Ctypedef int array_type; /* или typedef char array_type;*/ |
Реализация на C++void insertSort(int a[],int length_a) { |
Реализация на PASCAL{Arr = Array [1..Count]} |
Литература
- Ананий В. Левитин Глава 5. Метод уменьшения размера задачи: Сортировка вставкой // Алгоритмы: введение в разработку и анализ = Introduction to The Design and Analysis of Aigorithms. — М.: «Вильямс», 2006. — С. 206-209. ISBN 0-201-74395-7
- Википедия