131
правка
Изменения
→Сортировка расческой
'''for''' i = 0 '''to''' size - jump - 1
'''if''' a[i + jump]< a[i]
swap( a[i], a[i + jump] )
swapped = ''true''
Пояснения: Изначально расстояние между сравниваемыми элементами равно <tex> n/k </tex>, где <tex> k =1.3 </tex> {{---}} оптимальное число для этого алгоритма. Сортируем массив по этому расстоянию, потом уменьшаем его по этому же правилу. Когда расстояние между сравниваемыми элементами достигает единицы, массив досортировывается обычным пузырьком.