Pagini recente » Cod sursa (job #616176) | Cod sursa (job #1404084) | Cod sursa (job #1290125) | Cod sursa (job #245168) | Cod sursa (job #744403)
Cod sursa(job #744403)
Program sortare;
var a : array[1..500000] of longint;
n : longint;
Procedure citire;
var fin : text;
i : longint;
begin
assign(fin,'algsort.in');
reset(fin);
readln(fin,n);
for i:=1 to n do
read(fin,a[i]);
close(fin);
end;
Procedure sort(i,j : longint);
var li,lj,t : longint;
begin
if i>j then exit;
li:=i;
lj:=j-1;
while (li<lj) do
begin
while (a[li]<=a[j]) and (li<lj) do inc(li);
while (a[lj]>a[j]) and (li<lj) do dec(lj);
if (li<lj) then begin t:=a[li]; a[li]:=a[lj]; a[lj]:=t; end;
end;
t:=a[j]; a[j]:=a[li]; a[li]:=t;
sort(i,li-1);
sort(li+1,j);
end;
Procedure scrie;
var fout : text;
i : longint;
begin
assign(fout,'algsort.out');
rewrite(fout);
for i:=1 to n do
write(a[i],' ');
close(fout);
end;
begin
citire;
sort(1,n);
scrie;
end.