Pagini recente » Cod sursa (job #2455896) | Cod sursa (job #66051) | Profil Djok | Cod sursa (job #1094294) | Cod sursa (job #694188)
Cod sursa(job #694188)
program quick_sort;
var f,g:text;
n,i:longint;
v:array [1..500000] of longint;
bufin,bufout:array[1..65000] of char;
function pivot (st,dr:longint):longint;
var i,j,id,ij,aux:longint;
begin
i:=st; j:=dr;
id:=0; ij:=1;
while i<j do
begin
if v[i]>v[j] then
begin
aux:=v[i]; v[i]:=v[j]; v[j]:=aux;
aux:=id; id:=ij; ij:=aux;
end;
i:=i+id;
j:=j-ij;
end;
pivot:=i;
end;
procedure sort (st,dr:longint);
var p:longint;
begin
if st<dr then
begin
p:=pivot (st,dr);
sort (st,p-1);
sort (p+1,dr);
end;
end;
begin
assign(f,'algsort.in'); reset (f);
assign (g,'algsort.out'); rewrite (G);
settextbuf (f,bufin); settextbuf (g,bufout);
readln (f,n);
for i:=1 to n do
read (f,v[i]);
sort(1,n);
for i:=1 to n do
write (g,v[i],' ');
close (f); close (G);
end.