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