Этот метод более предпочтителен, чем сортировка простым включением. Концептуальная модель этого метода состоит в следующем. Начиная с первой позиции, просматриваются все N элементов и находится номер К наименьшего из элементов. Элемент К ставится на первое место. А элемент, стоявший на втором месте, перемещается на место К. На втором проходе I = 2 первый элемент уже не рассматривается. Рассматриваются оставшиеся N-1 элементы и среди них находится наименьший элемент, имеющий номер К. Этот элемент ставится на второе место, а элемент со второго места смещается на место К. Этот процесс продолжается до тех пор, пока не будет просмотрен весь массив X, содержащий N элементов.
const n=20;
type item= integer;
index=0..n;
var a:array [1..n] of item;
I,j:index;
x:item;
begin for I:=1 to n-1 do begin k:=I;
x:=a[I];
for j:=I+1 to n do if a[j]<x then
begin k:=j;x:=a[j];
end a[k]:=a[I];
a[I]:=x;
end;
end;