Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интегрирование Глава 9.doc
Скачиваний:
2
Добавлен:
12.11.2018
Размер:
1.49 Mб
Скачать
    1. Сортировка элементов массивов

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

Ранжирование – размещение элементов некоторой совокупности данных по убыванию (возрастанию) их численных значений (кодов).

Определение позволяет сделать вывод, что под совокупностью данных может пониматься как числовая, так и символьная информация (рис. 9.9).

Рис. 9.9. Типы сортируемых данных

      1. Ранжирование числовых массивов

Числовые массивы ранжируются по направлениям (рис. 9.10).

Рис. 9.10. Классификация направлений ранжирования

В математике разработаны различные методы сортировки числовых массивов. Основной (универсальный) метод формулируется следующим образом:

  • определить в рассматриваемом массиве элемент с максимальным (минимальным) значением (кодом) и запомнить его индекс;

  • поменять местами содержимое первого элемента и элемента с максимальным (минимальным) значением – отсортировать экстремальный элемент рассматриваемого массива;

  • сформировать новый (текущий) массив уменьшением исходного (предыдущего) на единицу (без уже отсортированного первого элемента);

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

Графическая интерпретация метода представлена на рис. 9.11.

Исходный (рассматриваемый) массив X(n)

x1

x2

x3

.

.

.

xj

.

.

.

xmax1

xn-1

xn

Формируемый массив X(n)

Текущий массив Х(n-1)

xmax1

x2

x3

.

.

.

xj

.

.

.

xmax2

xn-1

xn

Формируемый массив X(n)

Текущий массив Х(n-2)

xmax1

xmax2

x3

.

.

.

xmax

.

.

.

xn-1

xn

Формируемый массив X(n)

Текущий

массив

xmax1

xmax2

xmax3

.

.

.

xmaxi

.

.

.

xmax n-1

xmax n

Рис. 9.11. Схема основного метода ранжирования

Частный случай – сортировка методом «всплывающего пузырька».

Методика – последовательное сравнение двух смежных элементов массива, начиная с последних (n и n-1). Если n-й элемент больше (при поиске максимума) или меньше (при поиске минимума) предыдущего – они меняются местами. Результат – больший (меньший) «всплыл» на элемент вверх.

Затем значение n уменьшается на единицу. Конечным становится n-1 элемент и сравнение двух последних (n-1 и n-2) повторяется по предыдущим правилам.

Указанные компоненты методики повторяются до полного «всплытия» максимального (минимального) значения в первый элемент массива. После чего исходный массив уменьшается на единицу, лишаясь первого (отсортированного) элемента. И весь процесс повторяется n-1 раз.

В конечном счете, осуществляется ранжирование по убыванию (возрастанию) всех элементов рассматриваемого массива.

Графическая интерпретация представлена на рис. 9.12.

и

М с

а х

с о

с д

и н

в ы

й

xmax1

т

е

к

у

щ

и

й

xmax1

ф

о

р

м

и

р

у

е

м

ы

й

xmax1

c

о

з

д

а

н

н

ы

й

x2

xmax2

xmax2

х3

х3

xmax3

xmax4

xi

xi

xmax i

xmax1

xmax2

xmax n-3

xmax n-2

xn-1

xn-1

xn-1

xn

xn

xn

Рис. 9.12. Схема метода «всплывающего пузырька»

Предмашинная подготовка вычислительных процессов выполнения сортировок типовых совокупностей данных представлена ниже.