Delphi-Help

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

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

Оцените материал
(1 Голосовать)


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

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

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

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

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

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

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;  
Прочитано 6099 раз

Авторизация



Счетчики