Cod sursa(job #1417445)

Utilizator laura.calimanLaura Caliman laura.caliman Data 10 aprilie 2015 12:47:05
Problema Sortare prin comparare Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.68 kb
var n,i:longint;
    a:array[1..500000] of longint;
    
procedure sw(var a,b:longint);
var c:longint;
begin
  c:=a;
  a:=b;
  b:=c;
end;
    
procedure sort(st,dr:longint);
var i,j,k:longint;
begin
  i:=st;
  j:=dr;
  k:=a[(i+j) div 2];
  while i<j do begin
    while a[i]<k do inc(i);
    while a[j]>k do dec(j);
    if i<=j then begin
      sw(a[i],a[j]);
      inc(i);
      dec(j);
    end;
  end;
  if i<dr then sort(i,dr);
  if st<j then sort(st,j);
end;

begin
  assign(input,'algsort.in');
  assign(output,'algsort.out');
  reset(input);
  rewrite(output);
  read(n);
  for i:=1 to n do read(a[i]);
  sort(1,n);
  for i:=1 to n do write(a[i],' ');
end.