Pagini recente » Cod sursa (job #622414) | Cod sursa (job #1725544) | Cod sursa (job #1776097) | Cod sursa (job #883196) | Cod sursa (job #396772)
Cod sursa(job #396772)
program quicksort;
type vector=array[1..500000]of longint;
var i,n,k:integer;a:vector;f,g:text;
procedure poz(li,ls:integer;var k:integer;var a:vector);
var i,j,c,i1,j1:integer;
begin
i1:=0;j1:=-1;
i:=li;j:=ls;
while i<j do begin
if a[i]>a[j] then begin
c:=a[j];
a[j]:=a[i];
a[i]:=c;
c:=i1;
i1:=-j1;
j1:=-c;
end;
i:=i+i1;
j:=j+j1;
end;
k:=i;
end;
procedure quick(li,ls:integer);
begin
if li<ls then begin
poz(li,ls,k,a);
quick(li,k-1);
quick(k+1,ls);
end;
end;
begin
assign(f,'algsort.in');reset(f);
assign(g,'algsort.out');rewrite(g);
readln(f,n);
for i:=1 to n do read(f,a[i]);
quick(1,n);
for i:=1 to n do write(g,a[i],' ');
close(f);close(g);
end.