На этом шаге рассмотрим реализацию алгоритма сортировки выбором на простом примере.
Требуется отсортировать числовой массив по возрастанию.
Сортировка выбором предполагает следующий алгоритм решения:
В презентации представлен алгорим, реализация и иллюстрация сортировки выбором. Презентация подготовлена студентами третьего курса направления 44.03.05 "Педагогическое образование" (Математика и информатика) Шмаковой Ольгой и Соколовым Дмитрием.
Рассмотрим один из возможных подходов к реализации алгоритма сортировки выбором некоторого числового массива.
const n=20; var arr:array [1..n]of integer; i,j,i_max:byte; begin //Заполнение элементов массива значениями writeln('Исходный массив:'); for i:=1 to n do begin arr[i]:=random(n+1)-n div 2; write(arr[i]:5); end; writeln; writeln('Массив после сортировки:'); //Рассматриваем массивы длины n, n-1 и т.д. for j:=n downto 2 do begin i_max:=1;//предполагаем, что максимальный //элемент имеет индекс 1 //поиск максимального из первых j элементов for i:=2 to j do //если нашли больший элемент, //запоминаем его индекс if arr[i]>arr[i_max] then i_max:=i; //проверяем, нужно ли проводить обмен значениями, //если нужно, меняем элемент с индексом j и //максимальный элемент местами if i_max<>j then begin arr[i_max]:=arr[j]+arr[i_max]; arr[j]:=arr[i_max]-arr[j]; arr[i_max]:=arr[i_max]-arr[j]; end; end; //вывод отсортированного массива for i:=1 to n do write(arr[i]:5); end.
Архив с примером можно взять здесь.
На следующем шаге рассмотрим сортировку методом "пузырька".