Pagini recente » Borderou de evaluare (job #380968) | Cod sursa (job #2083002) | Cod sursa (job #1243446) | Cod sursa (job #2417817) | Cod sursa (job #694183)
Cod sursa(job #694183)
program quick_sort;
var f,g:text;
n,i:longint;
v:array [1..500000] of longint;
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);
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.