Cod sursa(job #701018)
Utilizator | Data | 1 martie 2012 13:10:59 | |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
type vector=array[1..20] of integer;
var x:vector;
n,i:integer;
procedure quick (s,d:integer);
var a,b,t,ia:integer;
begin
a:=s;
b:=d;
while (b>=a) do
begin while (x[a]<x[b]) do
b:=b-1;
t:=x[b];
x[b]:=x[a];
x[a]:=t;
b:=b-1;
ia:=0;
end;
if s<a-ia then quick(s,a-ia);
if a-ia+1<d then quick(a-ia+1,d);
end;
begin
write ('n: '); readln(n);
for i:=1 to n do
readln (x[i]);
quick(1,n);
for i:=1 to n do
write (x[i],' ');
readln;
end.