Сортировка вставками - C (СИ) (155077)

Узнай цену своей работы

Формулировка задачи:

Можете подробно обьяснить программу???
void sort (int *mas, int kol){
    int i,j,ii,x;
    for(i=1;i<kol;i++){
        x=mas[i];
        for(j=0;j<i;j++)
            if (mas[j]>x){
                for(ii=i;ii>j;ii--)
                mas[ii]=mas[ii-1];
                mas[j]=x;
                break;
            }
    }

Решение задачи: «Сортировка вставками»

textual
Листинг программы
void sort (int *mas, int kol)
{
   int i,j,ii,x;
   for(i=1;i<kol;i++)
   {
      x=mas[i];
      for(j=0;j<i;j++)
         if (mas[j]>x)
         {
            for(ii=i;ii>j;ii--) mas[ii]=mas[ii-1];
            mas[j]=x;
            break;
         }
   } 
}

Объяснение кода листинга программы

  1. В функции sort(int *mas, int kol) передается массив mas и его размер kol.
  2. В первой итерации внешнего цикла переменной i присваивается значение 1.
  3. Во второй итерации внешнего цикла переменной i присваивается значение 2.
  4. Внутренний цикл начинается с переменной x, которая равна значению mas[2].
  5. Внутренний цикл начинается с переменной j, которая равна 0.
  6. Если значение mas[0] больше x, то начинается вставка элемента x между элементами mas[0] и mas[1].
  7. Внутренний цикл начинается с переменной ii, которая равна i.
  8. Если значение mas[1] больше x, то начинается вставка элемента x между элементами mas[1] и mas[2].
  9. Внутренний цикл начинается с переменной ii, которая равна i.
  10. Если значение mas[2] больше x, то начинается вставка элемента x между элементами mas[2] и mas[3].
  11. Внутренний цикл начинается с переменной ii, которая равна i.
  12. Если значение mas[3] больше x, то начинается вставка элемента x между элементами mas[3] и mas[4].
  13. Внутренний цикл начинается с переменной ii, которая равна i.
  14. Если значение mas[4] больше x, то начинается вставка элемента x между элементами mas[4] и mas[5].
  15. Внутренний цикл начинается с переменной ii, которая равна i.
  16. Если значение mas[5] больше x, то начинается вставка элемента x между элементами mas[5] и mas[6].
  17. Внутренний цикл начинается с переменной ii, которая равна i.
  18. Если значение mas[6] больше x, то начинается вставка элемента x между элементами mas[6] и mas[7].
  19. Внутренний цикл начинается с переменной ii, которая равна i.
  20. Если значение mas[7] больше x, то начинается вставка элемента x между элементами mas[7] и mas[8].

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


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

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

15   голосов , оценка 3.8 из 5