Advertisement
green1ant

selectionsort

Dec 10th, 2018
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.17 KB | None | 0 0
  1. program selection;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8.   System.SysUtils;
  9.  
  10. const
  11.    max = 1000;
  12.  
  13. type
  14.    TArray = array [1 .. max] of integer;
  15.  
  16. var
  17.    i, j, n: integer;
  18.    A: TArray;
  19.  
  20. procedure Print(var Arr: TArray);
  21. var
  22.    i: Integer;
  23. begin
  24.    for i := 1 to n do
  25.       write(Arr[i], ' ');
  26.    writeln;
  27. end;
  28.  
  29.  
  30. procedure SelectionSort(Arr: TArray; n: Integer); { сортировка выбором }
  31. var
  32.    key, count: integer;
  33. begin
  34.    for i := 1 to n do
  35.    begin
  36.       count := A[i];
  37.       key := i;
  38.       for j := i + 1 to n do
  39.          if (A[key] > A[j]) then
  40.             key := j;
  41.       if (key <> i) then
  42.       begin
  43.          A[i] := A[key];
  44.          A[key] := count;
  45.       end;
  46.       Print(A);
  47.    end;
  48.    write('Результирующий массив: ');
  49.    for i := 1 to n do
  50.       write(A[i], ' '); { вывод массива }
  51. end;
  52.  
  53. { основной блок программы }
  54. begin
  55.    write('Количество элементов > ');
  56.    read(n);
  57.    for i := 1 to n do { ввод массива }
  58.    begin
  59.       write(i, ' элемент > ');
  60.       readln(A[i]);
  61.    end;
  62.    SelectionSort(A, n);
  63.    Readln;
  64. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement