Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Procedure qsort3(l, r: integer);
- Var
- i, j: integer;
- y, x: real;
- m: string;
- begin
- i := l;
- j := r;
- x := r2[l + random(r - l)];
- While i < j do
- begin
- While r2[i] > x do inc(i);
- While r2[j] < x do dec(j);
- if i <= j then
- begin
- if (r2[i] = r2[j]) then begin
- if (r1[i] < r1[j]) then begin
- m := s2[i];
- s2[i] := s2[j];
- s2[j] := m;
- y := r2[i];
- r2[i] := r2[j];
- r2[j] := y;
- y := r1[i];
- r1[i] := r1[j];
- r1[j] := y;
- end;
- end;
- m := s2[i];
- s2[i] := s2[j];
- s2[j] := m;
- y := r2[i];
- r2[i] := r2[j];
- r2[j] := y;
- y := r1[i];
- r1[i] := r1[j];
- r1[j] := y;
- inc(i);
- dec(j);
- end;
- end;
- if i < r then qsort3(i, r);
- if l < j then qsort3(l, j);
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement