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

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

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

Мне нужно написать программу, в которой бы присутствовала сортировка вставками. Желательно в одномерном массиве. Помогите пожалуйста.

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

textual
Листинг программы
int n= ? //кодичество элементов
int A[n];
for(int i=2; i<n; i++)
{
int key=A[i];
int j=i-1;
while(j>=1 && A[j]>key)
{
A[j+1]=A[j];
j--;
A[j+1]=key
}
}

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

  1. Задается переменная n (количество элементов)
  2. Создается массив A[n]
  3. Начинается цикл for со значениями от 2 до n-1
  4. Внутри цикла переменная key принимает значение A[i]
  5. Переменная j инициализируется значением i-1
  6. В цикле while происходит сравнение key с каждым элементом массива A[j] от начала массива до элемента, большего key
  7. Если элемент больше key, то элементы массива сдвигаются вправо на одну позицию
  8. Значение j уменьшается на 1
  9. Когда j становится меньше или равным 1 и элемент массива A[j] не больше key, то key вставляется в массив на позицию j+1
  10. Цикл while завершается, когда j становится меньше 1 или находится элемент, меньший key
  11. Цикл for завершается
  12. Массив A отсортирован вставками

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


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

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

12   голосов , оценка 4.167 из 5