Этот алгоритм сортировки один из самых простых и удобных для работы с небольшими массивами данных. Минусы проявляются на больших наборах данных. Суть алгоритма в том, что в программе выполняется поиск наименьшего элемента, который ставится на первую позицию. Затем операция повторяется со второй позицией и так далее до завершения массива данных.
const
N = 10; // размер массива
var
i, j, h, min : Integer;
mas : array[1..N] of Integer;
begin
for i := 1 to N-1 do begin
min := i; // назначение крайнего элемента текущим минимальным значением
for j := i + 1 to N do // цикл с поиском значения меньше, чем крайний элемент
if mas[min] > mas[j] then // Если в условии поставить "<" сортировка будет по убыванию
min := j;
if min <> i then begin // замена элементов местами
h := mas[j];
mas[j] := mas[min];
mas[min] := h;
end;
end;
end;
Этот алгоритм имеет плюс в сравнении, например, с сортировкой методом пузырька в том, что замена элементов производится для каждого элемента один раз, что ускоряет работу всего алгоритма.
Алгоритм заполнения шахматной доски
Алгоритм сортировки перемешиванием (Шейкерная сортировка, двунаправленная пузырьковая сортировка)
В комментариях запрещено публиковать рекламные материалы. Все сообщения оправляются на модерацию и будут опубликованы, если не нарушают правил сайта после проверки.