Линейный выбор с обменом

 

Этот метод состоит из n-1 просмотра элементов исходного вектора.

При первом просмотре находим минимальный элемент вектора и меняем его местами с первым элементом.

При втором просмотре первый элемент исключаем из рассмотрения и в оставшемся векторе находим минимальный элемент. Затем меняем его местами со вторым элементов вектора, и.т.д.

После n-1 просмотра вектор будет упорядочен.

Просмотр Исходный вектор А  
1-ый 2 4 8 5 6 1 1 4 8 5 6 2 For i:=1 to n-1 do begin min:=A[i]; i_min:=i;
2-ой 1 4 8 5 6 2 1 2 8 5 6 4 For j:=i+1 to n do If A[j]<min then begin
3-ий 1 2 8 5 6 4 1 2 4 5 6 8 min:=A[j]; i_min:=j; end;
4-ый 1 2 4 5 6 8 1 2 4 5 6 8 r:=A[i_min]; A[i_min]:=A[i];
5-ый 1 2 4 5 6 8 1 2 4 5 6 8 A[i]:=r; end;