Если перед каждым движением в программе ввести сообщение, то при сортировке получим примерно вот такую схему:
Исходный массив размера 5 :
94 84 95 98 28
------------------------------------------------------------------
Начинаем сортировку:
Перебираем все индексы массива от 2 до 5
> Берём очередной элемент c индексом 2 равный 84
>> Начинаем сравнивать с предыдущими элементами
>>> Элемент с индексом 1 равен 94 больше ключевого 84
>>> Сдвигаем его на одну позицию вправо.. .
>>>> Получаем массив:
94->94 95 98 28
>>> Уменьшаем значение индекса предыдущего элемента: 1-1=0
>> Индекс предыдущего стал меньше 1
> Устанавливаем в нужную позицию ключевой элемент:
{84} 94 95 98 28
> Берём очередной элемент c индексом 3 равный 95
>> Начинаем сравнивать с предыдущими элементами
>> Элемент предыдущего 94 стал меньше ключевого элемента 95
> Устанавливаем в нужную позицию ключевой элемент:
84 94{95} 98 28
> Берём очередной элемент c индексом 4 равный 98
>> Начинаем сравнивать с предыдущими элементами
>> Элемент предыдущего 95 стал меньше ключевого элемента 98
> Устанавливаем в нужную позицию ключевой элемент:
84 94 95{98} 28
> Берём очередной элемент c индексом 5 равный 28
>> Начинаем сравнивать с предыдущими элементами
>>> Элемент с индексом 4 равен 98 больше ключевого 28
>>> Сдвигаем его на одну позицию вправо.. .
>>>> Получаем массив:
84 94 95 98->98
>>> Уменьшаем значение индекса предыдущего элемента: 4-1=3
>>> Элемент с индексом 3 равен 95 больше ключевого 28
>>> Сдвигаем его на одну позицию вправо.. .
>>>> Получаем массив:
84 94 95->95 98
>>> Уменьшаем значение индекса предыдущего элемента: 3-1=2
>>> Элемент с индексом 2 равен 94 больше ключевого 28
>>> Сдвигаем его на одну позицию вправо.. .
>>>> Получаем массив:
84 94->94 95 98
>>> Уменьшаем значение индекса предыдущего элемента: 2-1=1
>>> Элемент с индексом 1 равен 84 больше ключевого 28
>>> Сдвигаем его на одну позицию вправо.. .
>>>> Получаем массив:
84->84 94 95 98
>>> Уменьшаем значение индекса предыдущего элемента: 1-1=0
>> Индекс предыдущего стал меньше 1
> Устанавливаем в нужную позицию ключевой элемент:
{28} 84 94 95 98
Сортировка окончена.
------------------------------------------------------------------
Отсортированный массив:
28 84 94 95 98
Другие языки программирования и технологии
объясните, пожалуйста, метод вставок (сортировка) . желательно на прмере.
Похожие вопросы
- Объясните пожалуйста метод решения
- Объясните пожалуйста алгоритм упрощенного метода ньютона
- Объясните зачем методу нужны аргументы?
- Для чего нужен указатель this и каков его принцип работы? Объясните пожалуйста самым простым языком, как 2+2.
- Объясните пожалуйста вот этот алгоритм в Free Pascal
- объясните пожалуйста как работать с циклами с предусловием, с постусловием, с параметром
- Объясните пожалуйста как работает компилятор.
- Турбо Паскаль. Объясните пожалуйста
- У Оли есть доступ к сети Интернет по высокоскоростному одностороннему радиоканалу.. . (Объясните пожалуйста как решать)
- Объясните пожалуйста, что такое Объектно ориентированное программирование?