Иллюстрированный самоучитель по Delphi 7 для начинающих

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

Процедура сортировки, текст которой приведен в листинге 5.9, запускается нажатием кнопки Сортировка (Button1). Значения элементов массива вводятся из ячеек компонента StringGrid1. После выполнения очередного цикла поиска минимального элемента в части массива процедура выводит массив в поле метки (Label2).

Листинг 5.9. Сортировка массива простым выбором.

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(StringGrid1.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;

На рис. 5.16 приведено диалоговое окно программы после завершения процесса сортировки.

Иллюстрированный самоучитель по Delphi 7 для начинающих › Массивы › Сортировка массива. Сортировка методом прямого выбора.
Рис. 5.16. Диалоговое окно программы Сортировка массива

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.