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

Сортировка массива методом прямого выбора Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так: Просматривая массив от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального. Просматривая массив от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального. И так далее до предпоследнего элемента. Ниже представлена программа сортировки массива целых чисел по возрастанию

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;


DelphiWorld 6.0

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...