Тема: Алгоритмы сортировки. Метод прямого выбора и вставки.
Рассмотрим сортировку методом прямого выбора. В процессе сортировки массив разбивается на две последовательности: готовую отсортированную и не отсортированную. Массив из n элементов просматривается n-1 раз. При каждом просмотре в не отсортированной последовательности выбирается элемент с наименьшим значением и этот элемент меняем местами с первым элементом не отсортированной последовательности. После каждого просмотра готовая последовательность увеличивается на один элемент (самый маленький элемент помещается в конец отсортированной последовательности), а не отсортированная – уменьшается.
Опишем информационную модель сортировки:
a – исходный массив;
n – количество элементов в массиве a;
i – порядковый номер просмотра или порядковый номер первого элемента в не отсортированной последовательности;
j – порядковый номер элемента в не отсортированной последовательности;
k – порядковый номер (индекс) наименьшего элемента в не отсортированной последовательности;
x – переменная для обмена.
Рассмотрим сортировку на примере:
15 4 7 1 5 9
1 4 7 15 5 9
1 4 7 15 5 9
1 4 5 15 7 9
1 4 5 7 15 9
1 4 5 7 9 15
Алгоритм сортировки методом прямого выбора.
Type
ar=array[1..100] of real;
Var
a:ar;
n:integer;
Procedure SortbySelect(n:integer;Var a:ar);
Var
K,i,j:integer;
x:real;
Begin
For i:=1 to n-1 do
Begin
For j:=i+1 to n do
if a[j]'<'a[k] then k:=j;
x:=a[i];
a[i]:=a[k];
a[k]:=x
end
End;
Рассмотрим сортировку методом прямой вставки. В процессе сортировки массив разбивается на две последовательности: готовую отсортированную и не отсортированную. Массив из n элементов просматривается n-1 раз. При каждом просмотре из не отсортированной последовательности выбирается первый элемент и для него подбирается место в отсортированной последовательности. Иначе этот метод называется сортировкой с барьером. Для этого метода массив описывается с нулевым элементом, который потом используется в качестве барьера. После каждого просмотра готовая последовательность увеличивается на один элемент, а не отсортированная – уменьшается.
Опишем информационную модель сортировки:
a – исходный массив;
n – количество элементов в массиве a;
i – порядковый номер просмотра или порядковый номер первого элемента в не отсортированной последовательности;
j – порядковый номер элемента в отсортированной последовательности;
x – переменная для обмена.
Рассмотрим сортировку на примере:
0 1 2 3 4 5 6 порядковые номера элементов
  15 4 7 1 5 9 исходный массив
4 4 15 7 1 5 9
7 4 7 15 1 5 9
1 1 4 7 15 5 9
5 1 4 5 7 15 9
9 1 4 5 7 9 15
Алгоритм сортировки
Домашнее задание:
1. Выучить алгоритмы сортировки.
2. Решить задачу:
Дан массив из n целых чисел. Найти сумму трех наименьших положительных чисел массива, используя для сортировки выученные методы.
Подписаться на:
Комментарии к сообщению (Atom)

Комментариев нет:
Отправить комментарий