Сортировка Шелла. Количество сравнений. - C (СИ)
Формулировка задачи:
Здравствуйте! Может кто-нибудь помочь?
Требовалось отсортировать массивы разного размера при помощи сортировки Шелла, и оценить количество сравнений и обменов.С количеством обменов я разобрался, а вот как посчитать количество сравнений?
Привожу ниже часть кода самой сортировки
while (step > 0) { for (int i = 0; i < (size - step); i++) { int j = i; while (j >= 0 && a[j] > a[j + step]) { int temp = a[j]; a[j] = a[j + step]; a[j + step] = temp; j--; exch+=1; } } step =step/2; }
Решение задачи: «Сортировка Шелла. Количество сравнений.»
textual
Листинг программы
/* было: while (j >= 0 && a[j] > a[j + step]) */ /* стало: */ while (j >= 0 && greater(a[j], a[j + step]))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д