Advertisement
JohnByte

Pascal is fucking crap

Oct 10th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.15 KB | None | 0 0
  1. procedure quickSort(var a : matx; row, left, right : integer);
  2.     var p : integer;
  3.     begin
  4.         if left < right then begin
  5.             p := partition(a, row, left, right); {якобы "неверное количество параметров функции}
  6.             quickSort(a, row, left, p - 1);
  7.             quickSort(a, row, p + 1, right);
  8.         end;
  9.     end;
  10.    
  11. function partition(var a : matx; row, left, right : integer) : integer;
  12.     var i, j, pivot : integer;
  13.     begin
  14.         pivot := a[row, right];
  15.         i := left - 1;
  16.         for j := left to right - 1 do begin
  17.             if a[row, j] >= pivot then begin
  18.                 i := i +1;
  19.                 a[row, i] := a[row, i] + a[row, j];
  20.                 a[row, j] := a[row, i] - a[row, j];
  21.                 a[row, i] := a[row, i] - a[row, j];
  22.             end;
  23.          end;
  24.          
  25.          if a[row, right] >= a[row, i + 1] then begin
  26.             a[row, i + 1] := a[row, i + 1] + a[row, right];
  27.             a[row, right] := a[row, i + 1] - a[row, right];
  28.             a[row, i + 1] := a[row, i + 1] - a[row, right];
  29.          end;
  30.          partition := i + 1
  31.     end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement