Сортировка Шелла. Количество сравнений. - 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]))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы