Шаг 11.
Алгоритмы.
Пример реализации алгоритма сортировки выбором

    На этом шаге рассмотрим реализацию алгоритма сортировки выбором на простом примере.

    Требуется отсортировать числовой массив по возрастанию.

    Сортировка выбором предполагает следующий алгоритм решения:

    В презентации представлен алгорим, реализация и иллюстрация сортировки выбором. Презентация подготовлена студентами третьего курса направления 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.

    Архив с примером можно взять здесь.

    На следующем шаге рассмотрим сортировку методом "пузырька".




Предыдущий шаг Содержание Следующий шаг