Pagini recente » Borderou de evaluare (job #2683670) | Cod sursa (job #2770204) | Cod sursa (job #3196453) | Cod sursa (job #2349967) | Cod sursa (job #338338)
Cod sursa(job #338338)
var f,g:text;
a:array[1..50000] of longint;
n,aux,i:longint;
procedure divid(st,dr:longint);
var p,i,j:longint;
begin
i:=st;
j:=dr;
p:=a[(st+dr)div 2];
while (i<=j) do
begin
while (a[i]<p) do i:=i+1;
while (a[j]>p) do j:=j-1;
if i<=j then begin
aux:=a[i];
a[i]:=a[j];
a[j]:=aux;
i:=i+1;
j:=j-1;
end;
end;
if st<j then divid(st,j);
if dr>i then divid(i,dr);
end;
Begin
assign(f,'algsort.in');
reset(f);
read(f,n);
readln(f);
for i:=1 to n do
read(f,a[i]);
close(f);
divid(1,n);
assign(g,'algsort.out');
rewrite(g);
for i:=1 to n do
write(g,a[i],' ');
close(g);
End.