Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Сортировка массива методом прямого выбора

01.01.2007
Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так:

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

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

И так далее до предпоследнего элемента.

Ниже представлена программа сортировки массива целых чисел по возрастанию

procedure TForm1.ButtonlClick(Sender: TObject);
const
  SIZE
= 10;
var
  a
: array[1..SIZE] of integer;
  min
: integer; { номер минимального элемента в части
                 
массива от i до верхней границы массива }
  j
: integer; { номер элемента, сравниваемого с минимальным }
  buf
: integer; { буфер, используемый при обмене элементов массива }
  i
, k: integer;
begin
 
// ввод массива
 
for i := l to SIZE do
    a
[i] := StrToInt(StringGridl.Cells[i - 1, 0]); Iabel2.caption := '';
 
 
for i := l to SIZE - 1 do
 
begin
   
{ поиск минимального элемента в части массива от а[1] до a[SIZE]}
    min
:= i;
   
for j := i + l to SIZE do
     
if a[j] < a[min] then
        min
:= j;
 
   
{ поменяем местами a [min] и a[i] }
    buf
:= a[i];
    a
[i] := a[min];
    a
[min] := buf;
 
   
{ вывод массива }
   
for k := l to SIZE do
      Label2
.caption := label2.caption + ' ' + IntTostr(a[k]);
    Label2
.caption := label2.caption + #13;
 
end;
  Label2
.caption := label2.caption + #13 + 'MaccMB отсортирован.';
end;

https://delphiworld.narod.ru/

DelphiWorld 6.0