Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3768.doc
Скачиваний:
113
Добавлен:
13.11.2022
Размер:
15.23 Mб
Скачать

Задания к данному параграфу

Задание 1. Задайте массив целых чисел a[1:n]. Смоделируйте последовательность преобразований содержимого памяти при реализации сортировки элементов массива методами:

  • методом простого выбора;

  • методом простых включений, стр. 147, 149,151;

  • методом простого обмена, суть метода изложена ниже;

  • улучшенным методом сортировки обменом, когда необходимо запомнить, производился ли на данном проходе массива обмен элементов, если нет, то сортировку массива закончить;

  • улучшенным методом сортировки обменом, когда необходимо запомнить не только, производился ли на данном проходе массива обмен элементов, но и место последнего обмена, следующие проходы можно закончить на этом индексе, вместо того, чтобы сравнивать элементы до установленной границы i.

Задание 2. Составьте блок-схемы алгоритмов решения задач задания 1, напишите программы на языках программирования, отличных от Ершола.

Пояснение к выполнению задания

Идея метода сортировки массивов простым обменом

Идея сортировки простым обменом элементов массива a[1:n] заключается в повторении n-1 раз попарных сравнений рядом стоящих элементов массивов A[1:n], A[2:n], A[3:n], A[4:n], … , A[n-1:n]. Каждый из этих массивов содержит на один элемент меньше, чем предыдущий. При сравнении элементы массива переставляются в заданном порядке, поэтому при каждом проходе элемент a[i], i изменяется от 1 до n-1, занимает своё место в отсортированной части массива. Последний элемент массива после попарных сравнений n-1 раз и обменов, если необходимо, стоит тоже на своём месте в отсортированном массиве. Элементы массивов просматриваются либо от конца к началу, либо от начала к концу. При сортировке будем просматривать элементы массивов A[1:n], A[2:n], A[3:n], A[4:n], … , A[n-1:n] от конца к началу, и массив отсортируем по возрастанию значений элементов массива. Алгоритм сортировки элементов массива методом простого обмена и программа на языке Ершол даны в таблице 10.

Программа сортировки массивов простым обменом и сущность этого метода

алг сортобмен

нач

1шаг. Введи элементы массива в память компьютера.

2 шаг. Для i изменяющегося от 2 до n выполни следующие шаги.

2.1 шаг. Для j, изменяющегося от n до i с шагом -1, выполни следующие шаги.

2.1.1 шаг. Сравни элементы a[j] и a[j-1]. Если a[j] < a[j-1], то поменяй их местами.

2.1.2 шаг. Организуй вывод элементов массива, полученного при прохождении текущего цикла.

кон

алг сортобмен (арг цел n)

нач цел i,j,b,цел таб a[1:n]

│input(n,a)

│print(n,a)

нц для i от 2 до n

││нц для j от n до i шаг -1

│││если a[j] < a[j-1]

││││то

││││ |обмен значениями a[j] и a[j-1]

││││ b:=a[j]; a[j]:=a[j-1];a[j-1]:=b

│││все

││кц

││print(n,a)

кц

кон

Вспомогательные алгоритмы input и print смотри в таблице 9.

Таблица 10. Алгоритм и программа на языке Ершол сортировки элементов массива методом простого обмена

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]