Pagini recente » Cod sursa (job #1962910) | Istoria paginii runda/aaaaaaaaaaaaaaaa/clasament | Cod sursa (job #1231400) | Cod sursa (job #918832) | Cod sursa (job #567689)
Cod sursa(job #567689)
var
a:array[1..500000]of int64;
n,i:longint;
f,g:text;
procedure interschimb(i,j:longint);
var
aux:longint;
begin
aux:=a[i];
a[i]:=a[j];
a[j]:=aux;
end;
function partitionez(l,r:longint):longint;
var
p,j,i:longint;
begin
p:=a[r];
j:=l-1;
for i:=l to r do
if a[i]<=p then begin
inc(j);
interschimb(i,j);
end;
partitionez:=j;
end;
procedure quick(l,r:longint);
var
poz:longint;
begin
poz:=partitionez(l,r);
if l<poz-1 then quick(l,poz-1);
if poz+1<r then quick(poz+1,R);
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],' ');
writeln(g);
close(f);
close(g);
end.